初级会员

- 积分
- 129
- 金钱
- 129
- 注册时间
- 2015-2-17
- 在线时间
- 3 小时
|

楼主 |
发表于 2016-1-14 10:09:45
|
显示全部楼层
[mw_shl_code=c,true]//初始化WAV头.
void recoder_wav_init( WaveHeader* wavhead) //初始化WAV头
{
wavhead->ChunkID = 0X46464952; //"RIFF"
wavhead->ChunkSize = 0; //还未确定,最后需要计算
wavhead->Format = 0X45564157; //"WAVE"
wavhead->SubChunk1ID = 0X20746D66; //"fmt "
wavhead->SubChunk1Size = 16; //大小为16个字节
wavhead->AudioFormat = 0X01; //0X01,表示PCM;0X01,表示IMA ADPCM
wavhead->NumChannels = 2; //单声道
wavhead->SampleRate = 44100; //8Khz采样率 采样速率
wavhead->ByteRate = wavhead->SampleRate*2*wavhead->NumChannels; //字节速率=采样率*通道数*(ADC位数/8)
wavhead->BlockAlign = 4; //块大小=通道数*(ADC位数/8)
wavhead->BitsPerSample = 16; //16位PCM
wavhead->SubChunk2ID = 0X61746164; //"data"
wavhead->SubChunk1Size = 0; //数据大小,还需要计算
} [/mw_shl_code]
在最后对
Wavhead->ChunkSize = wavize+36;
Wavhead->SubChunk1Size = wavize;
Wavhead->SubChunk2Size = wavize; 进行了修改 可是在电脑上依然报错 这是为什么呢 |
|