現在マイクにアクセスしているプロセス(ある場合)を照会できますか?

現在マイクにアクセスしているプロセス(ある場合)を照会できますか?

私はDebian(技術的にはRaspbian)を実行しており、Star Trekスタイルの音声コマンドシステムを取得しようとしています。基本的には動作していますが、プライバシーとすべてのジャズのためにマイクを常に録音したくありません。

現在どのプロセス(ある場合)がマイクにアクセスしているかをポーリングする方法があるかどうか疑問に思います。私の考えは、マイクが現在オーディオを録音しているかどうかを知らせる小さなインジケータを作成することでした。

私の究極の目標は、テレビのリモコンを使用してマイクをオン/オフし、マイクがオンになっているかどうかを示すLED照明を持つことです。すべてのハードウェアが正常に動作しています。これで、仕上げるソフトウェアだけが必要です。

今構成しているのは純粋なALSA、つまりPulseAudioではないと思います。私が間違っている可能性があります。

ベストアンサー1

マイクデバイスファイルを識別することから始めます/dev/snd/pcmC0D0c。デバイスファイルを見つけるのに役立つように、arecord次のコマンドを使用してテスト記録を開始して実行すると、lsof | grep '/dev/snd'すべてのプログラムと関連デバイスファイルが一覧表示されます。

その後、を使用してマイクの使用量を表示できますfuser /dev/snd/pcmC0D0c。デバイスが開かれると、デバイスにアクセスするプログラムのPIDが返されます。

inotifywait /dev/snd/pcmC0D0cデバイスの状態を継続的にポーリングするよりも、状態の変化を検出するためにループを好むことができます。

おすすめ記事