web-dev-qa-db-ja.com

ターミナルを使用してオーディオ出力デバイスを選択するにはどうすればよいですか?

デジタルヘッドフォンセットとスピーカーのアナログペアを持っています。 Ubuntuのターミナルでそれらを切り替える方法はありますか?このスイッチのキーボードショートカットを作成して、マウスを使用してオーディオ設定に移動するという面倒な作業を行うよりも簡単にしたいからです。

2
Rafael Pontes

もちろん、「pactl」および「pacmd」コマンドを使用できます。

音楽を再生する外部USBスピーカーと内部スピーカーのペアの例。

$ pactl list sinks short | awk -F '\t' '{print $1,$2,$5}' # Print available outputs
0 alsa_output.pci-0000_00_1b.0.analog-stereo RUNNING
1 alsa_output.usb-Logitech_Logitech_Z-5_Speakers-00-Speakers.analog-stereo SUSPENDED

インデックス0の最初の1つは内部発話で、音楽はこのシンクで実行されています。インデックス1のもう1つは、外部USBスピーカーです。

$ pactl stat | grep Sink  # Show the current output device (it's the internal speaker)
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
$ pacmd set-default-sink 1 # Make the external USB speaker as desired output device.

切り替え中に何も払っていない場合は、ここで停止できます。

(注意、それが本当に機能することを確認するには、何かを再生してこれを行い、次のようにストリームを移動する方が良いでしょう。)

何かを再生している場合、古いデバイスで音楽がまだ実行されていることに気付くはずです。目的のデバイスに移動する必要があります。

$ pactl list sink-inputs | grep 'Input' # Get the stream ID
Sink Input #23
$ pacmd move-sink-input 23 1 # Move it to the USB speaker

ほら!これらに基づいてスクリプトを作成できます。

参照: 再生中に「pacmd set-default-sink」でpulseaudioシンクを変更する方法?

5
P.-H. Lin