web-dev-qa-db-ja.com

コマンドラインからの音声出力を変更する

Xrandrを使用して、ディスプレイ出力をDVI(モニター)からHDMI(テレビ)に変更するスクリプトを作成しました。このスクリプトでは、オーディオ出力をアナログライン出力からHDMIに変更します。

私は次を試しました:

pacmd set-default-sink alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1

これにより、一部のサウンド(デスクトップで音量を調整したときに聞こえるサウンドなど)をhdmiに変更するようですが、アプリケーション(Steamビッグピクチャモードや各種ゲームなど)のデフォルトのサウンド出力はアナログに設定されています。 HDMIに変更するには、デスクトップのサウンド設定パネルをクリックして、手動でHDMIに変更する必要があります。

コマンドラインからの音声出力を確実に変更するにはどうすればよいですか?または、サウンド出力を変更した場合、Ubuntuのサウンド設定はフードの下で正確に何をしますか?

Ubuntu 15.10。を実行しています。

7
Echows

デフォルトの出力デバイスを変更するには、pulseaudioのCLIインターフェイスを使用します。

pacmd set-default-sink <sink_name|index>

ただし、このデフォルトのデバイスは、デフォルトでロードされるmodule-stream-restoreによって変更できます。このモジュールは、次のパラメーターを指定して呼び出さない限り、デバイスも復元します。

load-module module-stream-restore restore_device=false

これをdefault.paに配置して、対応する行を置き換えます。

したがって、この変更をすべてのユーザーに対して有効にするには、/etc/Pulse/default.paをルートとして編集する必要があります。ただし、ユーザーディレクトリにあるこのファイルのコピーを処理して、~/.config/Pulse/に配置することをお勧めします

cp /etc/Pulse/default.pa ~/.config/Pulse/

そこで行った設定は/etc/Pulseの設定を上書きするため、ここで実験しても安全です。問題が発生した場合は、このファイルを削除してpulseaudioがシステム全体のデフォルトを再び使用できるようにします。

default.paのすべての変更により、pulseaudioサーバーがリセットされて有効になります。これは次の方法で実行できます。

pulseaudio -k

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

5
Takkat