使能PIO3的功放控制引脚后,sink连接的手机主动打电话没有声音(PIO3为低)
按照配置sink需要在adk configure tools中配置pio3的功放引脚:
配置后发现听歌和被call电话声音都没有问题,但是用连接sink耳机的手机主动打电话出去,sink耳机却没有声音,通过判断知道是PIO_AUDIO_ACTIVE即PIO3被拉低导致,可以通过添加判断来解决:
case EventSysCheckAudioAmpDrive:
/* cancel any pending messages */
MessageCancelAll( &theSink.task , EventSysCheckAudioAmpDrive);
/* when the device is no longer routing audio to the speaker then turn off the audio amplifier */
if((!sinkAudioIsAudioRouted()) && (!sinkAudioIsVoiceRouted())&& (!isSinkInCallMode()))
{
MAIN_DEBUG (( "HS : EventSysCheckAudioAmpDrive turn off amp\n" ));
PioDrivePio(PIO_AUDIO_ACTIVE, FALSE);
}
else
lIndicateEvent = FALSE;
break;
其中isSinkInCallMode(void)为sink_statemanager.c自定义函数:
bool isSinkInCallMode (void)
{
if ((gTheSinkState == deviceOutgoingCallEstablish ) ||
(gTheSinkState == deviceIncomingCallEstablish ) ||
(gTheSinkState == deviceActiveCallSCO ) ||
(gTheSinkState == deviceActiveCallNoSCO )||
(gTheSinkState == deviceThreeWayCallWaiting)||
(gTheSinkState == deviceThreeWayCallOnHold)||
(gTheSinkState == deviceIncomingCallOnHold)||
(gTheSinkState == deviceActiveCallSCO))
{
return TRUE;
}else {
return FALSE;
}
}
记得在sink_statemanager.h文件中声明。
来源:https://blog.csdn.net/u014159143/article/details/103363802 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |