管理员
最后登录1970-1-1
在线时间 小时
注册时间2013-5-3
|
发表于 2015-8-29 14:21:33
|
显示全部楼层
在你截那段代码的下面,这里修改一下采样率看看,IIS的采样率。你试试在解码得到的mp3采样率的基础上增大或减少之
else //解码无错误,准备把数据输出到PCM
{
MP3GetLastFrameInfo(Mp3Decoder, &Mp3FrameInfo); //获取解码信息
/* 根据解码信息设置采样率 */
if (Mp3FrameInfo.samprate != current_sample_rate) //采样率
{
current_sample_rate = Mp3FrameInfo.samprate;
printf(" \r\n Bitrate %dKbps", Mp3FrameInfo.bitrate/1000);
printf(" \r\n Samprate %dHz", current_sample_rate);
printf(" \r\n BitsPerSample %db", Mp3FrameInfo.bitsPerSample);
printf(" \r\n nChans %d", Mp3FrameInfo.nChans);
printf(" \r\n Layer %d", Mp3FrameInfo.layer);
printf(" \r\n Version %d", Mp3FrameInfo.version);
printf(" \r\n OutputSamps %d", Mp3FrameInfo.outputSamps);
if(current_sample_rate >= I2S_AudioFreq_Default) //I2S_AudioFreq_Default = 2,正常的帧,每次都要改速率
{
I2S_Freq_Config(current_sample_rate); //根据采样率修改iis速率
}
}
|
|