icfans

从receiver播放wav格式的音频文件

0
阅读(2372)

从receiver播放wav格式的音频文件


[Description]
10AW1108MP, 36_11a平台软件,如何才能从receiver播放wav格式的音频文件, 产线要对
receiver进行这项测试.
[Solution]
1) 在factoryModeSrc.c文件头部添加:
extern mdi_result mdi_audio_snd_play_file_with_vol_path(
void *file_name,
U16 repeat,
mdi_handle *handle_p,
mdi_callback handler,
U8 volume,
U8 path);
extern mdi_result mdi_audio_snd_stop(void);
2)修改void EntryFMReceiverHdlr(void)函数如下:
void EntryFMReceiverHdlr(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
int result = 0;
FM_RestoreAudio();
FM_RESET_AUDIO_STATE(FM_AUDIO_TEST_STAT_RECEIVER);
if (!ReceiverTestOn)
{
ReceiverTestOn = TRUE;
/* set audio mode to Normal */
/* custom_em_set_mode(AUD_MODE_NORMAL); */
/* play 1K tone */
kal_sleep_task(kal_milli_secs_to_ticks(200));
result = (int)mdi_audio_snd_play_file_with_vol_path(
L"C:\\test.wav",
1,
NULL,
NULL,
6,
0); //主要添加这几个地方
kal_prompt_trace(MOD_L1SP, "yang result=%d", result);
kal_sleep_task(kal_milli_secs_to_ticks(100));//主要添加这几个地方
AFE_SetOutputDevice( 3, L1SP_SPEAKER1 );//主要添加这几个地方
change_left_softkey(STR_GLOBAL_OFF, 0);
}
else
{
ReceiverTestOn = FALSE;
/* set audio mode to Normal */
/* custom_em_set_mode(AUD_MODE_NORMAL); */
/* stop 1K tone */
//TONE_Stop();
mdi_audio_snd_stop();//主要添加这几个地方
change_left_softkey(STR_GLOBAL_ON, 0);
}
redraw_left_softkey();
}
3)在手机盘的C盘放入一个test.wav文件,请注意,这个wav文件需要是8k采样率PCM数据的wav
的。如果没有,请上网找工具来转换。
4)在手机上按*#66*#,进入factory mode,选择Receiver那一项,点ON,可以听到声音。
5)另外,请check一下makefile中BACKGROUND_SOUND是否为true,如果不是,请把它开起来
。 6
) wav文件必须是:
音频采样大小: 16位
频道:单声道
音频采样级别: 8KHZ
音频格式: PCM
来自半导体那些事儿