FAQ-MT5193 atv调节声音大小,不起做用,声音无变化

经过VOLUME_UP,VOLUME_DOWN调节atv的声音,不变化,只有调到静音的时候,才没有声音,界面上的声音大小是显示对的.
[Solution]
这类问题常见的缘由是音频参数没有进行设置,使用原始release默认的参数,而默认的参数在各版本上0-6均为255,致使调节音量等级,声音大小无变化。
分析方法:请在相关函数中加TRACE查看,
MMI层
mmi_mtv_player_entry_channel_list_screen,中注册按键是否有执行到,
SetKeyHandler(mmi_mtv_player_vol_inc, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_mtv_player_vol_dec, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_mtv_player_vol_inc, KEY_VOL_UP, KEY_EVENT_DOWN);
SetKeyHandler(mmi_mtv_player_vol_dec, KEY_VOL_DOWN, KEY_EVENT_DOWN);
mmi_mtv_player_vol_inc 中mdi_audio_set_volume->
media_aud_set_volume_ext- > aud_send_set_volume_req 中的type, volume值是多少,是否正常传下去了等。
MED层,
加TRACE看音量是否有正确设置下去。一样type ,volume等关键的值都打印出来,并trace看是走的哪一个分支。
aud_audio_set_volume_req_hdlr,
aud_atv_set_volume_by_mode
查看TV_OUT_SUPPORT,__ATV_I2S_SUPPORT__,__MED_BT_A2DP_MOD__ 的定义状况.
依次跟下去看最终是否有在AFE设置音量。
aud_atv_set_volume_by_mode 中 analog_gain 值为多少传入
aud_atv_set_output_volume(analog_gain, 0);
aud_atv_set_output_volume->ATV_AudioSetOutputVolume-
>LINEIN_SetOutputVolume
void ATV_AudioSetOutputVolume(kal_uint8 volume1, kal_int8
digital_gain_index)
{
#if defined(__ATV_I2S_SUPPORT__)
Media_SetOutputVolume( volume1, digital_gain_index );
#else
LINEIN_SetOutputVolume( volume1, digital_gain_index );
#endif
}
void LINEIN_SetOutputVolume( uint8 volume1, int8 digital_gain_index )
{
AFE_SetOutputVolume( L1SP_LINEIN, volume1, digital_gain_index );
}
AFE_SetOutputVolume 中EXT_DAC_SUPPORT 是否有定义?
是aud_atv_set_volume_by_mode这个函数中的analog_gain不对,它传给
aud_atv_set_output_volume(analog_gain, 0);这个函数的"analog_gain"变量一直为255。
GAIN_HND_GMI_VOL0-6的值这些值都是255,就找到调音量不起做用的缘由了,请把这些值设置成递增的数据。例如如下参数,注意这只是示例,能够自行调节。
#define GAIN_HND_GMI_VOL 3
#define GAIN_HND_GMI_VOL0 16
#define GAIN_HND_GMI_VOL1 32
#define GAIN_HND_GMI_VOL2 48
#define GAIN_HND_GMI_VOL3 64
#define GAIN_HND_GMI_VOL4 80
#define GAIN_HND_GMI_VOL5 96
#define GAIN_HND_GMI_VOL6 112git

相关文章
相关标签/搜索