1

アンドロイドマイクを使ってノイズレベルを確認したい。ただし、マイクにアクセスする前に、マイクが別のアプリケーションによってアクセスされているかどうかを知りたいです。マイクが別のアプリケーションからアクセスされているかどうかを確認するにはどうすればよいですか?

4

2 に答える 2

1

アクティブな入力ストリームとそれらがルーティングされる場所に関する情報はAudioFlingerAudioPolicyManagerおよびAudioHardwareインスタンスによって保持されます。これらのインスタンスは、この情報をアプリケーションと共有しません。
AudioManagerクラスはisMicrophoneMute()アプリケーションにメソッドを提供しますが、マイクは使用されていない間はミュートされていない可能性が高いため、このメソッドはマイクが現在使用されているかどうかについて実際には何も通知しません。

マイクにルーティングされた入力ストリームがあるかどうかを確認する1つの可能な方法は、dumpsysを実行しmedia.audio_policymedia.audio_flinger出力を解析することです。ただし、リスクは、出力がデバイスごとに異なるように見えることです。さらに、ルート化されていないデバイスでこれらのサービスのステータスをダンプできるかどうかはわかりません。

于 2012-08-18T14:27:47.100 に答える
0

マイケルは正しいと思いますが、Android 2.3 や一部のサービスでは dumpsys を使用できません。

于 2012-08-24T07:27:44.693 に答える