私のシステムには6チャンネルUSBマイクとオーディオ録音ソフトウェアがあります。 USBマイクが利用可能な場合(接続されている場合)、プログラムがオーディオ録音に最初のチャンネルを使用していることを確認する必要があります。
マイクを一定期間使用できない場合があります(プラグが外れています)。再接続すると、プログラムが最後に接続したマイクを使用していることを確認する必要があります。外部マイクが使用できない場合は、内部オーディオICが使用中のソースデバイスとして表示されます(ただし、3.5mmオーディオジャックにマイクがないため録音できません)。
マイクにはフロント左、フロント右、リア左など6つのチャンネルがあります。フロント左側が必須チャンネルです。 module-remap-sourceを使用してダミーソースを作成し、それをデフォルト値に設定します。
pactl load-module module-remap-source master=alsa_input.MIC_NAME.multichannel-input master_channel_map=front-left channel_map=front-left remix=false
pactl set-default-source alsa_input.MIC_NAME.multichannel_input.remapped
このコマンドの後にプログラムを起動すると、すべてがうまく動作します。
質問:
ユーザーはランタイム中にいつでもUSBマイクを接続および切断できます。マイクを外して再接続すると、単一チャネルの仮想ソースが消えます。上記のコマンドを再実行する必要があります。この仮想ソースを永続的にする方法はありますか?
また、正しいソースを使用するようにマイクを検出した後にオーディオソフトウェアを再起動する方法(またはソフトウェアが正しいソースに切り替えられるかどうかを確認する方法)についてアドバイスをいただきありがとうございます。
マウス/キーボード/モニターのない閉鎖システムであるUbuntu Serverです。システムはこれらのイベントを独自に理解できる必要があります。