我正在开发一个 VoIP 应用程序。
在 Galaxy Tab 4.0.4 上使用蓝牙耳机时,我遇到以下问题:
当 VOIP 通话过程中有语音通话时,或者当我停止应用程序并重新启动应用程序时,它不会再次使用蓝牙耳机麦克风。
当问题发生时,即使在停止和启动蓝牙适配器或蓝牙设备后,它也不会使用蓝牙耳机麦克风。只有 adb reboot 似乎可以解决问题。
有一个我不完全理解的“脏”修复:
当问题发生从我的应用程序调用时:
audioManager.setMode(AudioManager.VOICE_CALL)
audioManager.setMode(AudioManager.NORMAL)
将重新启用蓝牙耳机的麦克风。
如果此呼叫始终有效,则足以解决问题,但是有一个问题:有时(大约 25%)在呼叫片段后,每次启用 SCO 时,我都会开始在蓝牙耳机上收听非常烦人的干扰
我猜它们与 AudioManager 文档中的以下注释有关:'特别是,MODE_IN_CALL 模式应该只在电话应用程序拨打电话时使用,因为它会导致来自无线电层的信号馈送到平台混音器。 '
问题是:关于可能导致什么以及如何避免解释问题的任何想法?