Debian Bullseyeのスクリプトでサウンドリスナーを変更する方法

Debian Bullseyeのスクリプトでサウンドリスナーを変更する方法

Debian(LMDE 5)Bullseyeを使用すると、Ubuntuと同様にpacmdを使用してオーディオシンクを変更することはできません。ただし、音量調整アプリケーション/GUIと連動して受信機を変更することができます。

Bullseyeではpulseaudioはデフォルトで実行されないため、より低いレベルまたは他の方法を使用する必要があります。 pulseaudioを起動した後、pacmdコマンドはエラーなしで実行されますが、オーディオはGUIに設定されている受信機で再生され続けます。

/etc/pulse/default.pa私が知っている限り、pacmdからパルスが放出されたときに変更がキャンセルされるのを防ぐ必要がある次の行を編集しました。

load-module module-stream-restore restore_device=false

Ubuntuのサウンドカードで動作するコマンドは次のとおりです。

#change to analog stereo
pacmd set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo

#change to hdmi
pacmd set-card-profile alsa_card.pci-0000_00_1b.0 output:hdmi-stereo-extra1+input:analog-stereo

私の質問は次のようになります。 ターミナルを使用して出力(受信機)を変更するしかし、質問に有効な提案はありません。

最近Debianでスクリプトを介してシンクを正常に変更した人はいますか?

ベストアンサー1

pacmdDebian Bullseyeでスクリプトを介してサウンドシンク(オーディオ出力デバイス)を変更するには、PulseAudioサウンドサーバーの一部であるコマンドラインツールを使用できます。ステップバイステップのガイドは次のとおりです。

  1. pacmdまだ利用できない場合は、必要なパッケージをインストールしてください。次のコマンドを使用してインストールできます。

    sudo apt-get install pulseaudio-utils
    
  2. 次のコマンドを実行して、利用可能なサウンドリスナーを確認します。

    pacmd list-sinks | grep -e 'index:' -e 'name:'
    

    このコマンドは、使用可能な受信機と対応する索引番号をリストします。切り替えたいサウンドレシーバーのインデックス番号を書き留めます。

  3. change_sound_sink.sh必要なテキストエディタを使用してスクリプトファイルを作成します。たとえば、次のようになります。

    nano change_sound_sink.sh
    
  4. スクリプトファイルに次の行を入力します。

    #!/bin/bash
    
    # Set the desired sink index
    SINK_INDEX=my_sink_index
    
    # Change the default sink to the desired index
    pacmd set-default-sink $SINK_INDEX
    
    # Move existing streams to the new sink
    pacmd list-sink-inputs | awk '/index:/{print $2}' | while read -r input; do
        pacmd move-sink-input "$input" "$SINK_INDEX"
    done
    

    my_sink_index手順3で取得したいサウンドレシーバーのインデックス番号(0など1)に置き換えます。

  5. スクリプトファイルを保存し(Ctrl+ Oin nano)、テキストエディタを終了します(Ctrl+ Xin nano)。

  6. 次のコマンドを実行してスクリプトファイルを実行可能にします。

    chmod +x change_sound_sink.sh
    
  7. 次のコマンドを使用してスクリプトを実行します。

    ./change_sound_sink.sh
    

これにより、サウンドシンクが指定されたインデックスに変更され、既存のオーディオストリームが新しいシンクに移動されます。

スクリプトを実行した後、サウンド出力を目的の受信機に切り替える必要があります。必要に応じて、このスクリプトを他の自動化または制御システムに統合できます。

おすすめ記事