【问题标题】:How to properly recover MIC in an audio processing app?如何在音频处理应用程序中正确恢复 MIC?
【发布时间】:2018-07-13 14:59:22
【问题描述】:
我开发了一个音频处理应用程序,它可以在后台持续运行并监听特定信号,并在收到时向用户发送警报。即使用户正在通话,这一切都很好,因为它实现了电话状态侦听器并允许正确共享 MIC。但是,当其他应用程序进行语音呼叫(例如 Whatsapp)时,就会出现问题,因为电话状态侦听器不会检测到这些音频呼叫,因为它们在技术上不是电话呼叫。有谁知道如何正确监控任何应用程序是否正在使用 VOIP?
【问题讨论】:
标签:
android
audio
monitoring
audio-processing
【解决方案1】:
没有一个确定的解决方案,但是您可以监听 AudioManager.getMode() 的变化。
当进行正常(非 VOIp)语音呼叫时,电话应用程序将该模式设置为 IN_CALL。
通常进行 VOIp 呼叫的其他应用程序将该模式设置为 IN_COMMUNICATION。
所以你可以删除监听器并创建一个线程来监听 AudioManager.getMode() 的变化,并为这两种模式引发你想要的事件。