我用LPC1766做一个语音播放的,参考了论坛里的一个例子,结果唱出的来声音语速变快了,我这个DAC只有10位精度,不知道怎么回事,还有单声道还有双声道是什么情况,我只有一个DAC输出,文件还是双声道8bit的,
if(Bit==8)//8位精度
{
temp=(wav_buf[DAC_Counter++]);
temp+=(wav_buf[DAC_Counter++])<<8 ;
/* Adjust Value */
LPC_DAC->CR=(temp);
}
上面是在timer里面执行的几句话
这个音频文件完全不懂 求大侠指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
原子哥 我按照论坛一个人的处理数据的例子可以了播放比较清楚了,
temp=((u8)(wav_buf[DAC_Counter+1]-0x80)<<4)|(wav_buf[DAC_Counter]>>4);但是我不知道这句话为啥可以达到那个效果
而我写的是
temp=(wav_buf[DAC_Counter++]);
temp=(((u16)(wav_buf[DAC_Counter++])<<8)+temp);就不太清楚了 搞不清楚啊 想了好久,求指教啊
一周热门 更多>