bigbaicai

芯方式是以半导体人、电子工程师等电子行业相关领域从业人员为核心的知识经验学习、分享、交流社群。 凭借开放、合作、共赢的运营理念,聚集了来自国内外知名院校和顶尖科技公司的半导体人、电子工程师。 我们致力于营造专业、认真、有温度的分享交流环境,将高质量的内容和方案成规模地生产和分享,帮助个人和团队在芯方式找到有价值的Key。 http://www.icfans.com/

通话过程中来另外一个电话,通话音量会受来电的tone音影响

0
阅读(1834)

[DESCRIPTION]
1、通话过程中来电时,手机会连续播放一个tone的提示音,而这个提示音会设定自
己的音量,
而在硬件上这个提示音设定的音量和通话设定的音量是一个寄存器,因此会影响
到通话的音量。
[SOLUTION]
解决的办法是:当tone音在通话的时候播放时,用通话的音量去设定,
这样tone音的音量和通话音量就一致了,用户就不会感觉到
tone音来的时候通话的音量变化。
如下是具体的修改方法,请相信阅读,可能和您当前版本的code不尽相同,不过修改
思路应该是一样。
void AM_ToneOn( void )
{
#if defined(MT6236) || defined(MT6236B) || defined(MT6235) ||
defined(MT6238) || defined(MT6235B) || defined(MT6239) || defined(MT6253T)
|| defined(MT6253) || defined(MT6253D)
kal_uint8 vol1;
kal_int8 dgain_index;
//Add Begin AAAA
if(AM_IsSpeechOn())
{
AM_Enqueue( AM_DSP_ToneOn, 0, false );
AFE_TurnOnSpeaker( L1SP_TONE );
AFE_GetOutputVolume(L1SP_SPEECH, &vol1, &dgain_index);
AFE_SetOutputVolume(L1SP_TONE, vol1, dgain_index);
}
else
{ //Add End
AFE_GetOutputVolume(L1SP_TONE, &vol1, &dgain_index);
if (vol1 != 0)
{
AFE_SetOutputVolume(L1SP_TONE, 1, dgain_index);
}
AFE_TurnOnSpeaker( L1SP_TONE );
kal_sleep_task(3);
AM_Enqueue( AM_DSP_ToneOn, 0, false );
AM_FlushQFunction();
AFE_SetOutputVolume(L1SP_TONE, vol1, dgain_index);
}//add this line AAAA


来自半导体社区