13項で作成したブラウザのリモコン機能に、スピーカの選択や音量調整、更に14項で導入したDLNA(UPnP)の"gmediarender"(player)のデーモン設定がUSBへの出力専用なので、ALSAデバイスのHDMIやイヤフォン端子からも出力ができるように機能追加した。
機能追加には、スピーカ選択と音量調整はBluetooth導入時にインストールした"pulseaudio"と"pavucontrol"を利用し、DLNA "gmediarender"はデーモン起動とは別にコマンドラインで実行させて実現。
● スピーカの切替
pactl list short sinks # 使用可能なスピーカの情報
pactl list short sink-inputs # 再生中のストリーミング情報
pactl move-sink-input "$streamId" "$newSink" # 再生中のスピーカの切替
pactl set-default-sink "$newSink" # デフォルトのスピーカ設定
● ボリューム
pactl set-sink-volume $SINK $1% # ボリューム設定(%で指定)
amixer set Master toggle # ミュートオン・オフ
● renderer起動・終了
gmediarender --friendly-name=$HNAME-render --gstout-audiosink=alsasink --uuid=$UUID --gstout-initial-volume-db=0.0 # rendererをalsasinkで起動させる
killall -q gmediarender # rederer終了
ブラウザのコントール画面は下図の通り。
3番目にコントロールページ追加 |
DLNAのALSA出力はON/OFFできるようにした |
スピーカ切替や音量調整の動作確認し問題無く動作した。
rendererについては、iPadのAPPから追加したrendererが検出できるかテストし、問題無く検出して選択でき、サウンド出力も問題無し。