我想使用 Android 麦克风检查噪音水平。然而,在访问麦克风之前,我想知道麦克风是否正在被另一个应用程序访问。如何检查麦克风是否正在被其他应用程序访问?
有关活动输入流及其路由位置的信息由AudioFlinger
, AudioPolicyManager
and AudioHardware
实例,不与应用程序共享此信息。
AudioManager 类提供了一个isMicrophoneMute()
方法,但麦克风在未使用时很可能会取消静音,因此该方法并不能真正告诉您有关麦克风当前是否正在使用的任何信息。
查明是否有任何输入流路由到麦克风的一种可能方法是执行 dumpsysmedia.audio_policy
and media.audio_flinger
并解析输出。但风险在于输出在不同设备上看起来会有所不同,而且我不知道是否允许您在非 root 设备上转储这些服务的状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)