本帖最后由 skyqiu 于 2016-8-29 17:19 编辑
wm8978录音,如何设置单声道、立体声模式?原子的代码是立体声的吧?
如果要改为单声道,除了这个初始化WAV头需要修改,还有其他什么地方需要修改吗?最好能详细点,求指导,谢谢!
//初始化WAV头.
void recoder_wav_init(__WaveHeader* wavhead) //初始化WAV头
{
wavhead->riff.ChunkID=0X46464952; //"RIFF"
wavhead->riff.ChunkSize=0; //还未确定,最后需要计算
wavhead->riff.Format=0X45564157; //"WAVE"
wavhead->fmt.ChunkID=0X20746D66; //"fmt "
wavhead->fmt.ChunkSize=16; //大小为16个字节
wavhead->fmt.AudioFormat=0X01; //0X01,表示PCM;0X01,表示IMA ADPCM
wavhead->fmt.NumOfChannels=2;//双声道 单声道为1?
wavhead->fmt.SampleRate=SampleRate; //16Khz采样率 采样速率
wavhead->fmt.ByteRate=wavhead->fmt.SampleRate*4;//字节速率=采样率*通道数*(ADC位数/8) 单声道设置为wavhead->fmt.SampleRate*2
wavhead->fmt.BlockAlign=4; //块大小=通道数*(ADC位数/8) 单声道为2?
wavhead->fmt.BitsPerSample=16; //16位PCM
wavhead->data.ChunkID=0X61746164; //"data"
wavhead->data.ChunkSize=0; //数据大小,还需要计算
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>