2011-04-27 12:58:56 +0000 2011-04-27 12:58:56 +0000
81
81

mp3- oder wav-Datei über die Linux-Kommandozeile abspielen

Ich möchte ein Alarmsystem mit einer Ubuntu-Box (ohne grafische Oberfläche) erstellen, das verschiedene Ansage- und Alarmtonspuren (.mp3 oder .wav) über die Kommandozeile abspielt.

Zum Beispiel:

$ root> audioplay ./hello.wav

Der Ton sollte von der PC-Audiobuchse kommen. Ich könnte es auch mit einem anderen Socket-Listener einpacken. (z.B. Ruby Sinatra)

Irgendwelche Ideen, wie ich das machen kann?

Antworten (8)

61
61
61
2012-11-28 06:20:06 +0000

Die gängigste Art, eine WAV-Datei unter Linux abzuspielen, ist die Verwendung des Befehls aplay, der Teil des Systems ALSA ist.

aplay [flags] [filename [filename]] ...

aplay a.wav

Links: (Wikipedia) (aplay man page)

(Sowohl in Fedora als auch in Ubuntu/Mint ist es Teil des alsa-utils-Pakets)

Dies erfordert keine zusätzlichen Pakete zu Ihrer Linux-Installation wie sox oder mplayer oder vlc, nur das grundlegende ALSA, das heutzutage Teil eines jeden Systems ist.

48
48
48
2011-04-27 13:14:11 +0000

mpg123 ist ein Befehlszeilen-Dienstprogramm, das mp3-Dateien abspielt. Sie können es in Ubuntu installieren mit:

sudo apt-get install mpg123
23
23
23
2011-04-28 04:48:27 +0000

Installieren Sie vlc mit:

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

Stellen Sie sicher, dass Sie alle Repositories geöffnet haben. Führen Sie vor der Installation auch Folgendes aus:

sudo apt-get update

VLC hat eine Befehlszeilen-Operationsmethode, die von cvlc aufgerufen wird. Der nächste Teil wäre, ein .sh zu schreiben, das den Befehl aufruft. Ich bin nicht gut im Schreiben von Bash-Skripten. Das Endergebnis wäre in etwa wie folgt:

cvlc xyz.mp3
cvlc --play-and-exit done.mp3
8
8
8
2011-04-27 13:03:10 +0000

Sie können Ihre Tondaten einfach an das PC-Lautsprechergerät leiten:

cat rawsound | /dev/pcsp
7
7
7
2013-08-20 13:35:34 +0000

mplayer ist ein weiterer Player, der so ziemlich jedes Audio-/Videoformat von der Kommandozeile aus abspielen kann. Um ihn in ubuntu zu installieren, führen Sie einfach diesen Befehl aus:

sudo apt-get install mplayer

Sie können die Datei dann mit folgender Syntax abspielen:

mplayer [path to file]

viel Glück!

7
7
7
2017-03-08 11:16:46 +0000

Unter Ubuntu 16.04 besteht keine Notwendigkeit, irgendetwas zu installieren. Sie können einen Ton mit paplay [audio] abspielen mit ist Teil des PulseAudio-Soundservers :

paplay mysound.mp3
1
1
1
2019-05-07 16:37:44 +0000

Hinzufügen einer Antwort für Leute, die hier passieren werden (Frage ist 2011 alt, meine ist jetzt 2019), weil ich einen anderen Weg gefunden habe:

ffmpeg ist auf meinem ubuntu installiert 19.04

Also:

$ ffplay music.mp3 

-nodisp
hide spectrum analyzer

-nostats
hide cursor/file informations

-hide_banner
hide build informations

hide all (no output):
$ ffplay music.mp3 -nodisp -nostats -hide_banner

enjoy

0
0
0
2016-11-16 08:05:47 +0000

canberra-gtk-play

Für einfache Bash-Skripte ist mplayer in Bezug auf die Ausgabe wahrscheinlich etwas zu schwerfällig und zu wortreich. Eine eingebaute Option ist canberra-gtk-play, die auf ubuntu vorinstalliert ist:

canberra-gtk-play --file=/usr/share/sounds/gnome/default/alerts/drip.ogg

Hinweis: es verwendet die Lautstärke der Alarme, und Sie müssen --file= übergeben, um eine Datei von einem Pfad aus abzuspielen.

Es kann auch einen Sound per id abspielen, der den Dateinamen ohne Erweiterung von Mediendateien unter /usr/share/sounds darstellt (anscheinend funktioniert dies nur für Sounds, die als Teil eines Soundthemas registriert sind):

canberra-gtk-play --id="desktop-login"

canberra-gtk-play --id="message"

gst-launch-1. 0/gst-launch-0.10

Eine weitere Möglichkeit ist die Verwendung der gstreamer Kommandozeilen-Tools, die auf den meisten modernen Linux-Boxen vorhanden sind:

gst-launch-1.0 playbin uri=file:///usr/share/sounds/ubuntu/stereo/message.ogg

Um alle Ausgaben zu unterdrücken, leiten Sie sie nach /dev/null um:

gst-launch-1.0 playbin uri=file:///usr/share/sounds/ubuntu/stereo/message.ogg > /dev/null 2>&1

Sowohl gst-launch-1.0 als auch gst-launch-0.10 könnten auf Ihrem System vorhanden sein.