我已将手机连接到蓝牙扬声器,并且已插入耳机。现在,我想通过蓝牙扬声器播放音频。
当我将音频流设置为AudioManager.STREAM_MUSIC
时,它只能在耳机上播放。
它是否也可以在耳机上播放并不重要,但是我需要它在蓝牙扬声器上播放。
这怎么可能?应用程序SoundAbout设法做到了这一点,因此必须有一种方法。
编辑:当我插入耳机并且仅随后连接到蓝牙扬声器时,所有音频都会通过所需的蓝牙扬声器播放。 但是,我不能期望用户发现这一点,在向他们显示复杂的消息之前,我宁愿找到一种方法,使声音在连接到某些扬声器时始终通过BT扬声器播放。
谢谢
(请注意,这个问题与此不同:How to Play audio through speaker even when headset is plugged in?
我希望它可以在蓝牙扬声器上播放,而不是在手机的集成扬声器上播放。)
最佳答案
解决方案
假设您已经在新的媒体播放器实例上测试了STREAM_RING,并且没有直接设置流类型,但是没有成功,您需要为蓝牙设备配置正确的配置文件。
看看this article
阅读“实现HAL”部分,其中有很多您可以使用的不同配置文件来源。
还有一个简单的解决方案,即将您的设备配置文件在getServiceConnected()方法中更改为HEADSET,它将变成保持连接的设备,但输出将变为单声道!我记得,这对于扬声器来说很可惜,某些硬件可能不支持A2DP,但仍会被有线耳机打断。
我建议创建一个新的配置文件并使用它,与HAL一起工作有点棘手,但值得这样做,
抱歉,我目前无法为您提供源代码。
关于android - 即使插入耳机,如何通过蓝牙扬声器播放音频?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42530278/