android 蓝牙sco stream_voice_call,在Android上将音频路由到蓝牙耳机(非A2DP)

这个帖子可能已经很久了,但对于那些可能尝试同样事情的人来说,AudioManager文档中的一些注释可能会有用。看起来缺少的元素是startBluetoothSco()命令,但是对此通道的使用有限制。来自Android Dev网站:

public void startBluetoothSco()从:API Level 8启动蓝牙SCO

音频连接。

需要许可:

许可权。

这种方法可以使用

想要发送和的应用程序

从蓝牙SCO接收音频

手机不在时耳机

呼叫。

作为SCO连接建立

应用可能需要几秒钟

不应该依赖于连接

方法返回时可用

而是注册接收

意图ACTION_SCO_AUDIO_STATE_CHANGED

等待状态

SCO_AUDIO_STATE_CONNECTED。

由于无法保证连接

成功,应用程序必须等待

这个意图超时了。

完成SCO连接后

或者如果企业超时,那么

申请必须打电话

stopBluetoothSco()来清除

请求并关闭蓝牙

连接。

即使是SCO连接

成立,以下

限制适用于音频输出

流,以便它们可以路由到

SCO耳机: - 必须是流类型

STREAM_VOICE_CALL - 格式必须是

单声道 - 采样必须是16kHz或

为8kHz

以下限制适用于

输入流: - 格式必须

mono - 采样必须为8kHz

请注意手机应用程序始终

优先考虑使用

用于电话的SCO连接。如果这

手机进入时调用方法

打电话会被忽略。同样,如果

收到或发送电话时

应用程序正在使用SCO

连接,连接将是

丢失了申请而不是

通话时自动返回

结束。

另请参见stopBluetoothSco()

ACTION_SCO_AUDIO_STATE_CHANGED

请注意,我没有对此进行测试,我只是传递了我在研究类似项目时发现的一条线索。我认为Jayesh接近解决方案,上面的限制可能是阻止它工作的原因。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值