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;
}
}
}
复现步骤:支持双卡的手机=>插入卡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
- mt6735 [Audio Policy]连接蓝牙耳机,通话时声音路径切换到听筒或者喇叭,触屏时听不到触屏音
- 关于蓝牙耳机通话,切换声音路径
- mt6735 [Audio Common]通话时,概率性出现听筒或喇叭无声问题,如何debug
- mt6735 [Speech]通话过程中连接BT再切换成听筒,上行音量变小
- mt6735 [Audio Common] 通话时如何播放声音给对方听
- mt6735 [Audio Common] 通话时如何播放声音给对方听
- 建立通话,如何连接蓝牙耳机SCO
- Android平台播放语音时支持听筒、喇叭之间切换
- mt6735 [Audio Driver]FM应用打开外放后耳机也能有声音
- mt6735 [Audio Common] 播放FM录音,开始时声音很大
- Debug---- Ac100 将声音默认到耳机通道,经过功放到喇叭输出的方法
- ubuntu插上耳机 扬声器/喇叭 还有声音
- [Audio] Android 耳机切换
- 建立到蓝牙耳机的连接
- 语音通话 切换扬声器和听筒
- iOS 蓝牙耳机切换
- ubuntu切换到win10之后耳机没声音
- mt6735 [Audio Drv]使用外部PA耳机有 Pop音
- ajax上传图片
- 邵国际: C 语言对象化设计实例 —— 命令解析器
- hihocoder 1636 : Pangu and Stones(区间dp)
- iOS UILabel中图文混排
- 批量删除
- mt6735 [Audio Policy]连接蓝牙耳机,通话时声音路径切换到听筒或者喇叭,触屏时听不到触屏音
- VMware虚拟机中调整Linux分区大小——使用GParted
- php中关于二个变量之间的值互换的方法
- 自定义View加减
- Emergency (25)
- PHP学习笔记 08
- hadoop之BlockPoolManager源码分析
- [转] ubuntu 更改文件夹权限
- 3. Longest Substring Without Repeating Characters