Ich möchte ein Alarmsystem mit einer Ubuntu-Box (keine grafische Oberfläche) erstellen, die verschiedene Ansage- und Alarm-Audiospuren (.mp3 oder .wav) über die Befehlszeile wiedergibt.
Zum Beispiel:
$ root> audioplay ./hello.wav
Das Audio sollte von der PC-Audio-Buchse kommen. Ich könnte es auch mit einem anderen Socket-Listener verpacken. (zB Ruby Sinatra)
Irgendwelche Ideen, wie ich das machen kann?
/usr/share/sounds
ist ein guter Ort, um nach ihnen zu suchen.Antworten:
mpg123 ist ein Befehlszeilenprogramm, mit dem MP3-Dateien abgespielt werden können. Du kannst es in Ubuntu installieren mit:
quelle
Der
play
Befehl aus demsox
Paket spielt jedes Dateiformat ab, dassox
mit dem Standard-Audiogerät unterstützt wird, zMöglicherweise müssen Sie zusätzliche Pakete installieren, um Unterstützung für alle Formate zu erhalten. Unter Ubuntu 11.04 ist die MP3-Unterstützung beispielsweise erst nach der Installation verfügbar
libsox-fmt-mp3
.quelle
libsox-fmt-all
Paket zum Installieren aller Formate.Die Standardmethode zum Abspielen einer WAV-Datei unter Linux ist die Verwendung des
aplay
Befehls, der Teil desALSA
Systems ist.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 für Ihre Linux-Installation wie SoX oder Mplayer oder VLC, sondern nur die grundlegende ALSA, die heutzutage Bestandteil eines jeden Systems ist.
quelle
aplay
. Sie werden nur statisch.Installieren Sie
vlc
mithilfe von:Stellen Sie sicher, dass alle Repositorys geöffnet sind. Führen Sie vor der Installation auch Folgendes aus:
VLC verfügt über eine Befehlszeilen-Operationsmethode, die von aufgerufen wird
cvlc
. Der nächste Teil wäre das Schreiben eines.sh
Befehls, der den Befehl aufruft. Ich kann keine Bash-Skripte schreiben. Das Endergebnis wäre so etwas wie:quelle
cvlc --play-and-exit done.mp3
wenn du es nicht strg-c willst.cvlc --play-and-exit --no-loop done.mp3
. Ich brauche die extra Option--no-loop
, damit die Sounddatei nicht immer wieder wiederholt wird. (vlc 2.2.2, xubuntu 16.04.4)Sie können Ihre Sounddaten einfach an das PC-Lautsprechergerät leiten:
quelle
Unter Ubuntu 16.04 muss nichts installiert werden. Sie können einen Sound abspielen, indem Sie
paplay [audio]
mit dem PulseAudio-Soundserver:quelle
mplayer ist ein weiterer Player, der so ziemlich jedes Audio- / Videoformat über die Befehlszeile abspielen kann. Um es in Ubuntu zu installieren, führen Sie einfach diesen Befehl aus:
Sie können die Datei dann mit folgender Syntax abspielen:
Viel Glück!
quelle
canberra-gtk-play
Für einfache Bash-Skripte ist mplayer wahrscheinlich etwas zu umfangreich und zu ausführlich in Bezug auf die Ausgabe. Eine eingebaute Option ist
canberra-gtk-play
auf Ubuntu vorinstalliert:Hinweis: Es wird die Lautstärke der Warnungen verwendet, und Sie müssen übergeben
--file=
, um eine Datei von einem Pfad abzuspielen.Es kann auch ein Sound nach ID abgespielt werden, der den Dateinamen ohne Erweiterung der Mediendateien darstellt
/usr/share/sounds
(anscheinend funktioniert dies nur für Sounds, die als Teil eines Soundthemas registriert sind):gst-launch-1.0 / gst-launch-0.10
Eine andere Option ist die Verwendung der gstreamer- Kommandozeilen-Tools, die auf den meisten modernen Linux-Boxen verfügbar sind:
Um alle Ausgaben zu unterdrücken, leiten Sie sie weiter an
/dev/null
:Beides
gst-launch-1.0
undgst-launch-0.10
möglicherweise auf Ihrem System vorhanden.quelle
Hinzufügen einer Antwort für Leute, die hier vorbeigehen werden (Frage ist 2011 alt, meine jetzt ist 2019), weil ich einen anderen Weg gefunden habe:
ffmpeg ist auf meinem Ubuntu 19.04 installiert
Damit:
genieße 🤙
quelle