0

如果我将 AudioManager 模式设置为 MODE_IN_COMMUNICATION,并将媒体播放器流设置为 STREAM_VOICE_CALL,我可以将音频路由到免提电话或内部听筒扬声器。如果它被路由到内部扬声器,并且插入了有线耳机,它会自动路由到它。但是,我想不出一种将音频路由到 A2DP 耳机的方法(无需将音频模式更改为 MODE_NORMAL,或将流更改为 STREAM_MUSIC)。我的问题是使用 MODE_NORMAL 和 STREAM_VOICE_CALL 在某些设备上会导致问题,如果背景中已经有音乐在播放,那么使用 STREAM_MUSIC 会出现问题,然后我的应用程序会与该背景音乐“混合”。

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

4

1 回答 1

0

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

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

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

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

于 2013-05-09T10:36:39.547 回答