pulseaudio:ネットワーク経由で複数のコンピュータで同時にオーディオを再生する

pulseaudio:ネットワーク経由で複数のコンピュータで同時にオーディオを再生する

同じネットワークに2台のコンピュータがあり、両方ともスピーカーが接続されていて実行中ですpulseaudio。あるスピーカーでサウンドを再生し、両方のスピーカーからサウンドを取得するにはどうすればよいですか?私はGUIツールではなくCLI / configファイルを介して設定することを好みます。

答え1

ネットワーク出力を有効にする

両方のコンピュータにインストールしますpulseaudio-zeroconf

ソースコンピュータで次のものを/etc/pulse/default.pa含めるように編集します。

load-module module-native-protocol-tcp
load-module module-zeroconf-discover

ターゲットコンピュータで次のものを/etc/pulse/default.pa含めるように編集します。

load-module module-native-protocol-tcp
load-module module-zeroconf-publish

あるコンピュータから$HOME/.config/pulse/cookie別のコンピュータにコピーして、すべて同じ内容を持つようにします。

両方のシステムでpulseaudioを再起動します。

systemctl --user restart pulseaudio.service

ソースマシンで次を実行します。

pacmd list-sinks

名前で始まる複数のリスナーが表示されますtunnel.{destination_machine_hostname}.{remote_sink_name}。オーディオを再生すると、他のコンピュータでも再生されます。

結合出力を有効にする

作成したばかりの受信機のリストから、オーディオを再生するローカル受信機とリモート受信機を選択します。注意してくださいname(山かっこ)。

ソースコンピュータで実行

pactl load-module module-combine-sink sink_name=combined slaves={local_sink_name},tunnel.{destination_machine_hostname}.{remote_sink_name}

(コンボシンクがdefault.pa自動的に生成されないように編集できます)pactl

そのコンボ受信機でサウンドを再生すると、両方のコンピュータで選択したデバイスで再生されます。

関連情報