首页 文章

在Android中,有没有办法使用“MODE_IN_COMMUNICATION”将音频路由到A2DP?

提问于
浏览
0

如果我将AudioManager模式设置为MODE_IN_COMMUNICATION,并将媒体播放器流设置为STREAM_VOICE_CALL,我可以将音频路由到扬声器或内置手机扬声器 . 如果它被路由到内部扬声器,并且有线耳机插入int,它会自动路由到它 . 但是,我无法找到将音频路由到A2DP耳机的方法(不将音频模式更改为MODE_NORMAL,或将流更改为STREAM_MUSIC) . 我的问题是使用MODE_NORMAL和STREAM_VOICE_CALL会导致某些设备出现问题,如果已经在后台播放音乐,则使用STREAM_MUSIC会出现问题,然后我的应用程序会与该背景音乐“混合” .

所以,我希望有一种方法可以使用MODE_IN_COMMUNICATION和STREAM_VOICE_CALL组合强制音频到A2DP耳机 . 那可能吗?

1 回答

  • 0

    也许它适用于某些设备,但如果你关心大多数设备的兼容性,那么答案是“否” .

    当电话状态为 MODE_IN_CALLMODE_IN_COMMUNICATION 时,所有流通常都遵循 PHONE 路由策略 . 这意味着不允许路由到A2DP,因为:

    1)A2DP无论如何都不支持双向语音 .

    2)如果您的BT配件支持免提配置文件,它将使用SCO链接作为语音音频,并且应关闭用于A2DP的ACL通道以避免两者之间的干扰 .

相关问题