私はUbuntu(グラフィカルインタフェースなし)ボックスに裏打ちされた警報システムを作りたいと思っています。これはコマンドラインでさまざまなアナウンスと警報オーディオトラック(.mp3または.wav)を再生します。
例えば:
$ root> audioplay ./hello.wav
オーディオはPCのオーディオジャックから来ているはずです。私はまたそれを別のソケットリスナでラップするかもしれません。 (例:ルビーシナトラ)
どのように私はこれを行うことができますか?
mpg123はmp3ファイルを再生するコマンドラインユーティリティです。あなたはUbuntuにそれをインストールすることができます:
Sudo apt-get install mpg123
play
パッケージのsox
コマンドは、デフォルトのオーディオデバイスを使用してsox
でサポートされているすべてのファイルフォーマットを再生します。
$ play something.mp3
$ play something.wav
すべてのフォーマットをサポートするために追加のパッケージをインストールする必要があるかもしれません。例えば、Ubuntu 11.04では、libsox-fmt-mp3
をインストールするまでMP3サポートは利用できません。
LinuxでWAVファイルを再生する最も標準的な方法は、aplay
システムの一部であるALSA
コマンドを使用することです。
aplay [flags] [filename [filename]] ...
aplay a.wav
リンク: (Wikipedia)(aplayのmanページ)
(FedoraとUbuntu/Mintの両方で、これはalsa-utils
パッケージの一部です)
これはあなたのLinuxインストールにsoxやmplayerあるいはvlcのような追加のパッケージを必要としません。今日のどんなシステムの一部でも基本的なALSAだけです。
以下を使用してvlc
をインストールします。
Sudo apt-get install vlc vlc-plugin-Pulse mozilla-plugin-vlc
すべてのリポジトリが開いていることを確認してください。インストールする前に以下も実行してください。
Sudo apt-get update
VLCにはcvlc
によって呼び出されるコマンドライン操作メソッドがあります。次の部分は、コマンドを呼び出す.sh
を書くことです。 bashスクリプトを書くのは得意ではありません。最終結果は次のようになります。
cvlc xyz.mp3
cvlc --play-and-exit done.mp3
Ubuntu 16.04では、何もインストールする必要はありません。 PulseAudioサウンドサーバーの一部であるpaplay [audio]
を使ってサウンドを再生できます。
paplay mysound.mp3
mplayerは、ほとんどすべてのオーディオ/ビデオフォーマットをコマンドラインから再生できるもう1つのプレーヤーです。 ubuntuにインストールするには、単にこのコマンドを実行します。
Sudo apt-get install mplayer
その後、この構文を使ってファイルを再生できます。
mplayer [path to file]
がんばろう!
あなたは単純にあなたのサウンドデータをPCのスピーカーデバイスに送ることができます:
cat rawsound | /dev/pcsp
単純なbashスクリプトの場合、mplayerはおそらく出力が多少重すぎて冗長すぎます。組み込みオプションはcanberra-gtk-play
で、これはubuntuにプレインストールされています。
canberra-gtk-play --file=/usr/share/sounds/gnome/default/alerts/drip.ogg
注:これはアラートボリュームを使用します。パスからファイルを再生するには--file=
を渡す必要があります。
/usr/share/sounds
の下のメディアファイルの拡張子なしでファイル名を表すidでサウンドを再生することもできます(どうやらこれはサウンドテーマの一部として登録されているサウンドに対してのみ機能します)。
canberra-gtk-play --id="desktop-login"
canberra-gtk-play --id="message"
他の選択肢は、 gstreamer コマンドラインツールを使うことです。これらは、最近のほとんどのLinuxマシンにあります。
gst-launch-1.0 playbin uri=file:///usr/share/sounds/ubuntu/stereo/message.ogg
すべての出力を抑制するには、それを/dev/null
にリダイレクトします。
gst-launch-1.0 playbin uri=file:///usr/share/sounds/ubuntu/stereo/message.ogg > /dev/null 2>&1
gst-launch-1.0
とgst-launch-0.10
の両方がシステムに存在する可能性があります。
私は別の方法を見つけたので、ここで合格する人々のための答えを追加する(質問は2011年古い、私の今は2019です):
ffmpegは私のubuntuにインストールされています19.04
そう:
$ 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
楽しい ????