首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android蓝牙SCO

Android蓝牙SCO
EN

Stack Overflow用户
提问于 2012-09-28 19:37:21
回答 1查看 4.4K关注 0票数 0

我在我的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_ADMIN、MODIFY_AUDIO_SETTINGS (不要报告这些权限中的拼写错误)。

EN

回答 1

Stack Overflow用户

发布于 2012-10-03 09:30:32

使用什么版本的API?

在创建接收器时,请使用BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED而不是ACL_CONNECTED。

代码语言:javascript
复制
intentFilter.addAction(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED); // API 11
intentFilter.addAction(AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED); // API 8
intentFilter.addAction(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED); // API 14
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12639277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档