pacmd
シンク入力へのアクティブな再生ストリームがある間、PulseAudio はデフォルトのシンクを切り替えることができません。しかし、まだこれを達成する方法があります。
コマンドラインからデフォルトのシンクを変更する
最初に、切り替えたいシンクのインデックス番号を決定する必要があります。これは次の呼び出しで実行できます。
pacmd list-sinks
システムによっては、これにより、現在アクセス可能なシンクとプロパティの多かれ少なかれ長いリストが表示されます。
>>> 2 sink(s) available.
* index: 0
name: <alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1>
driver: <module-alsa-card.c>
:
:
index: 1
name: <alsa_output.pci-0000_00_14.2.analog-stereo>
driver: <module-alsa-card.c>
index
またはname
、ここで与えられたが、我々は、コマンドラインでシンクをadressingために必要なものです。現在のデフォルトシンクには、アスタリスク(ここ0
)が付いています。
コマンドラインからデフォルトのシンクを切り替えることができるようにするには、対応する行を編集してストリームターゲットデバイスの復元を無効にする必要があります/etc/pulse/default.pa
。
load-module module-stream-restore restore_device=false
デフォルトの出力シンクをシンクに変更するに1
は、次を実行します
pacmd set-default-sink 1
サウンド設定メニューを開くと、成功を視覚化できます。
ストリームを別のシンクに移動する
特定のシンクに対して再生するアクティブな入力ストリームがある間にデフォルトのシンクを変更しても効果はありません。これは、この入力を別のシンクに移動することで行う必要があります。
pacmd list-sink-inputs
入力ストリームのインデックスを教えてくれます
>>> 1 sink input(s) available.
index: 5
driver: <protocol-native.c>
を呼び出すことで、入力ストリーム5
をシンクに移動したいことがわかりました1
pacmd move-sink-input 5 1
必要に0
応じてシンクに戻ります。これは、再生を停止する必要なく、すぐに実行されます。
再生中にデフォルトのシンクを変更する
もちろん、これら2つのコマンドを組み合わせて、再生中にデフォルトのシンクを即座に切り替えることができます。
pacmd set-default-sink 1 & pacmd move-sink-input 5 1
この方法の欠点は、音楽プレーヤーを停止して再起動するたびに入力ストリームのインデックスが変わることです。そのため、コマンドラインを使用して切り替える前に、常に現在のストリームインデックスを見つける必要があります。
pactl list short sinks
>4 bluez_sink.FC_A8_9A_2C_EB_0B module-bluez5-device.c s16le 1ch 8000Hz IDLE
今だけの名前を参照pactl set-default-sink bluez_sink.FC_A8_9A_2C_EB_0B