1

我想使用 android 麦克风检查噪音水平。但是,在访问麦克风之前,我想知道麦克风是否正在被另一个应用程序访问。如何检查麦克风是否正在被其他应用程序访问?

4

2 回答 2

1

有关活动输入流及其路由位置的信息由和实例保存AudioFlinger,它们不与应用程序共享此信息。 AudioManager 类为应用程序提供了一个方法,但麦克风在未使用时很可能会取消静音,因此该方法并不能真正告诉您有关麦克风当前是否正在使用的任何信息。AudioPolicyManagerAudioHardware
isMicrophoneMute()

找出是否有任何输入流路由到麦克风的一种可能方法是打开 dumpsysmedia.audio_policymedia.audio_flinger解析输出。但风险在于不同设备上的输出看起来会有所不同,而且我不知道您是否可以将这些服务的状态转储到非 root 设备上。

于 2012-08-18T14:27:47.100 回答
0

我认为 Michael 是对的,但我们不能在 Android 2.3 上使用 dumpsys 并进一步用于某些服务

于 2012-08-24T07:27:44.693 回答