Android 蓝牙开发(七)hfp音频连接

转载请注明出处:http://blog.csdn.net/vnanyesheshou/article/details/71374935

本文已授权微信公众号 fanfan程序媛 独家发布 扫一扫文章底部的二维码或在微信搜索 fanfan程序媛 即可关注

接着上一篇hfp连接继续,查看蓝牙通话时如何进行处理的。hfp连接有两个连接,一个是hfp连接(在设置界面显示的是手机音频),另一个是蓝牙通话时进行的音频连接。这篇说下第二个连接,音频连接处理过程。
该文章是基于Android源码4.3的


1 连接音频

在手机音频正常连接时,接通电话,并选择蓝牙通话。从系统应用Phone开始分析。
代码路径:packages/apps/Phone/src/com/Android/phone/InCallScreen.Java
手机通话可以选择扬声器、听筒、蓝牙,我们选择蓝牙。
这里写图片描述

public void switchInCallAudio(InCallAudioMode newMode) {
    switch (newMode) {
        case SPEAKER: break; //扬声器    
        case BLUETOOTH: //蓝牙
            // 检查hfp是否连接着(蓝牙耳机是否连接可用),检查蓝牙耳机的音频是否连接
            if (isBluetoothAvailable() && !isBluetoothAudioConnected()) {
                if (PhoneUtils.isSpeakerOn(this)) { //关闭扬声器
                    PhoneUtils.turnOnSpeaker(this, false, true);
                }
                connectBluetoothAudio(); //连接蓝牙音频
            }
            break;
        case EARPIECE:break; //听筒     
        default: break;
    }
    updateInCallTouchUi(); //更新ui
}

蓝牙通话时选择蓝牙,会调到switchInCallAudio(),对于蓝牙通话模式,检查是否连接蓝牙耳机 headset(手机音频),检查蓝牙通话音频是否连接,如果有连接的蓝牙耳机,并且没有连接蓝牙音频(这个连接并不是设置界面中的手机音频连接,这是通话是需要的连接,该连接的前提是需要进行

  • 5
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值