#include "aud_media.h"
#include "aud_app.h"
/******************************测试接口****************************************/
/*
测试用例:
2:start_audio_app()调用测试接口
*/
/*录音本地测试: 传入需要录制文件的大小,录制完成后自动播放,测试本地录音的功能性*/
/*测试结果: 录制完成后,可以正常播放录音*/
struct t_pcm_file g_rec_pcm_file = { 0 };
static void create_rec_file(void);
u32 test_media_size = 0;
BOOL recorder_test_mode = FALSE;
void record_test(u32 vp_rec_size_kByte)
{
BOOL ret = FALSE;
recorder_test_mode = TRUE;
/*创建录音存储文件*/
test_media_size = vp_rec_size_kByte;
create_rec_file();
ret = pfv_StartRec(1, 8000, 16, "D9A");
if (ret)
{
printf("start test record success...............\r\n");
}
else
{
pfv_StopRec();
fclose(g_rec_pcm_file.m_fp);
remove(g_rec_pcm_file.m_filename);
memset(&g_rec_pcm_file, 0, sizeof(struct t_pcm_file));
printf("start test record failed...............\r\n");
recorder_test_mode = FALSE;
}
}
base_EEventResult Frm_OnRecData_testMode(const u8 *pp_Pcm_Data, u32 vp_DataLen, t_ywCbContext vp_Ctx)
{
u32 writesize = 0;
if (g_rec_pcm_file.m_fp)
{
writesize = fwrite(pp_Pcm_Data, 1, vp_DataLen, g_rec_pcm_file.m_fp);
g_rec_pcm_file.m_FileSize = writesize;
g_rec_pcm_file.m_FileTotalSize += g_rec_pcm_file.m_FileSize;
printf("record data rev:%uByte write: %uByte mFileTotalSize = %uByte \r\n", vp_DataLen, g_rec_pcm_file.m_FileSize, g_rec_pcm_file.m_FileTotalSize);
if (g_rec_pcm_file.m_FileTotalSize >= (u32)(test_media_size * 1024))
{
printf("mFileTotalSize > %u kByte \r\n",test_media_size);
pfv_StopRec();
/*播放录音文件*/
aud_amp_poweron();
printf(">>>>>>>>>>>>>>>>>>>g_rec_pcm_file mFileTotalSize = %uByte<<<<<<<<<<<<<<<<<<<<< \r\n", g_rec_pcm_file.m_FileTotalSize);
pfv_PlayPcmFile(g_rec_pcm_file.m_filename, 1, 8000, 16);
fclose(g_rec_pcm_file.m_fp);
remove(g_rec_pcm_file.m_filename);
memset(&g_rec_pcm_file, 0, sizeof(struct t_pcm_file));
recorder_test_mode = FALSE;
}
}
return base_cbrOk;
}
static void create_rec_file(void)
{
/*创建音频文件*/
g_rec_pcm_file.m_filename = "rec_media";
g_rec_pcm_file.m_FileTotalSize = 0;
g_rec_pcm_file.m_Crc = 0;
g_rec_pcm_file.m_MediaId = 0;
g_rec_pcm_file.m_Format = PCM_FMT;
int pcm_ret = pcmfile_create(&g_rec_pcm_file, PCM_FMT);
if (pcm_ret == 0)
{
printf("rec_media file create success. \r\n");
}
else
{
printf("rec_media file create failed. \r\n");
}
}