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

来源:互联网 发布:java date format 编辑:程序博客网 时间:2024/05/16 19:52
[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

阅读全文
0 0