pulseaudio を用いてネットワーク越しに音を転送する方法をまとめておく
pulseaudio でのサーバとは、音を受け取り流す方で、
クライアントは、音を送る方である。
#サーバー側の設定
ホームディレクトリに .pulse
というディレクトリが存在しなければ
$ mkdir ~/.pulse
で作成し、次のコマンドで /etc/pulse/default.pa
を ~/.pulse
以下にコピーする。
$ cp /etc/pulse/default.pa ~/.pulse/
コピーした ~/.pulse/default.pa
を次のように編集する。
#load-module module-native-protocol-tcp
↓
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24
192.168.0.0/24
の部分はクライアント側のPCのIPアドレスが含まれるネットワークを選択する。
#クライアント側の設定
クライアント側の設定は簡単で
PULSE_SERVER
という変数に転送先(つまりサーバ)のIPアドレスを設定してあげれば良い。
私は、ある端末から起動したプログラムからの音声のみを転送したかったので
プログラムを起動する前に
$ export PULSE_SERVER=192.168.0.1
とサーバのIPアドレス(赤字の部分はそれぞれの環境に応じて変更)をPULSE_SERVERという環境変数に格納してあげて、
$ aplay (再生したいファイル名)
とするとサーバ側から音声を流すことができる。
もしも、すべての音声をサーバ側で流したいのであれば /etc/profile
の中に
export PULSE_SERVER=192.168.0.1
と記述すればよいと思う。