我想使用android麦克风检查噪音水平。然而,在访问麦克风之前,我想知道其他应用程序是否正在访问麦克风。如何检查其他应用程序是否正在访问麦克风?
答案 0 :(得分:1)
有关活动输入流及其路由位置的信息由AudioFlinger
,AudioPolicyManager
和AudioHardware
实例保存,这些实例不与应用程序共享此信息。
AudioManager类为应用程序提供了isMicrophoneMute()
方法,但麦克风在未使用时可以很好地取消静音,因此该方法并不能真正告诉您当前是否正在使用麦克风。
找出是否有任何输入流路由到麦克风的一种可能方法是在media.audio_policy
和media.audio_flinger
上执行dumps并解析输出。但风险在于输出在不同设备上看起来会有所不同,而且我不知道是否允许您在非根设备上转储这些服务的状态。
答案 1 :(得分:0)
我认为迈克尔是对的但我们不能在Android 2.3上使用dumpsys以及进一步使用某些服务