您的位置:首页 > 其它

mt6735 [Audio Policy]连接蓝牙耳机,通话时声音路径切换到听筒或者喇叭,触屏时听不到触屏音

2017-11-22 09:10 1621 查看
[DESCRIPTION]
复现步骤:支持双卡的手机=>插入卡2=>背景播放音乐=>进入情境模式打开触屏音=>连接蓝牙耳机=>拨打电话=>通话时
切换声音路径到听筒(喇叭)=>触屏=>没有听到触屏音

[SOLUTION]
请帮忙修改/mediatek/platform/common/hardware/audio/AudiomtkPolicyManager.cpp中的以下函数:
voidAudioMTKPolicyManager::checkA2dpSuspend()
{
if(!mHasA2dp){
return;
}
audio_io_handle_ta2dpOutput=getA2dpOutput();
if(a2dpOutput==0){
return;
}
//suspendA2DPoutputif:
//(NOTalreadysuspended)&&
//((SCOdeviceisconnected&&
//(forcedusageforcommunication||forrecordisSCO)))||
//(phonestateisringing||incall)
//
//restoreA2DPoutputif:
//(Alreadysuspended)&&
//((SCOdeviceisNOTconnected||
//(forcedusageNOTforcommunication&&NOTforrecordisSCO)))&&
//(phonestateisNOTringing&&NOTincall)
//
if(mA2dpSuspended){
if(((mScoDeviceAddress=="")||
((mForceUse[AudioSystem::FOR_COMMUNICATION]!=AudioSystem::FORCE_BT_SCO)&&
(mForceUse[AudioSystem::FOR_RECORD]!=AudioSystem::FORCE_BT_SCO)))&&
((mPhoneState!=AudioSystem::MODE_IN_CALL)&&
#ifdef MTK_AUDIO
(mPhoneState!=AudioSystem::MODE_IN_CALL_2)&&//添加这一行
#endif
(mPhoneState!=AudioSystem::MODE_RINGTONE))){
mpCLIentInterface->restoreOutput(a2dpOutput);
mA2dpSuspended=false;
}
}else{
if(((mScoDeviceAddress!="")&&
((mForceUse[AudioSystem::FOR_COMMUNICATION]==AudioSystem::FORCE_BT_SCO)||
(mForceUse[AudioSystem::FOR_RECORD]==AudioSystem::FORCE_BT_SCO)))||
((mPhoneState==AudioSystem::MODE_IN_CALL)||
#ifdef MTK_AUDIO
(mPhoneState!=AudioSystem::MODE_IN_CALL_2)&&//添加这一行
#endif
(mPhoneState==AudioSystem::MODE_RINGTONE))){
mpClientInterface->suspendOutput(a2dpOutput);
mA2dpSuspended=true;
}
}
}
如果以上修改OK的话,您可以申请patch:ALPS01000035

资料来源:一牛网论坛 MT6735 http://bbs.16rd.com/thread-454409-1-1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MT6735 一牛网论坛