我在我的 android 应用程序中遇到了蓝牙 SCO 音频的问题。
我为动作 ACL_CONNECTED 和 ACL_DISCONNECTED 注册了一个接收器,以捕获蓝牙 SCO 设备连接和断开连接。在收到 ACL_CONNECTED 时,我正在检查蓝牙设备是否有音频服务(耳机),如果有音频服务,我正在实例化 AudioTrack(new AudioTrack(....)
)并启动蓝牙 SCO(startBluetoothSco(); setBluetoothScoOn(true);
)。
我的应用中有一个按钮可以将 pcm 数据写入 AudioTrack。在这个应用程序中,我听不到我写的 PCM 数据的声音。
我尝试不使用任何接收器,onCreate()
仅实例化 AudioTrack 并启动蓝牙 SCO。在启动应用程序之前,我将耳机连接到我的设备并进行了测试,它工作正常。
但是,为什么我的应用程序在运行时建立蓝牙 SCO 连接时无法工作,具体取决于 ACL_CONNECTED 意图。
如果有人知道解决方案,请回复我。我添加了所有必需的权限 BLUETOOTH、BLUETOOTH_ADMIN、MODIFY_AUDIO_SETTINGS(不要报告这些权限中的拼写错误)。