- 设置采集音频格式
WAVEFORMATEX waveform; //采集音频的格式,结构体 waveform.wFormatTag = WAVE_FORMAT_PCM;//声音格式为PCM waveform.nSamplesPerSec = 8000;//采样率,16000次/秒 waveform.wBitsPerSample = 16;//采样比特,16bits/次 waveform.nChannels = 1;//采样声道数,2声道 waveform.nAvgBytesPerSec = 16000;//每秒的数据率,就是每秒能采集多少字节的数据 waveform.nBlockAlign = 2;//一个块的大小,采样bit的字节数乘以声道数 waveform.cbSize = 0;//一般为0
- 提前准备好的录音数据缓存
m_pRecoderBuf = new unsigned char[20 * 1024]; m_recoderNum = 20; m_recoderBufLen = 20 * 1024; m_pWaveHdr = new WAVEHDR[20]; memset(m_pRecoderBuf, 0, 20 * 1024); memset(m_pWaveHdr, 0, sizeof(WAVEHDR) * 20);
- 打开录音设备
MMRESULT mmres = waveInOpen(&m_hWaveIn, WAVE_MAPPER, &waveform, (DWORD_PTR)WaveInProc, (DWORD_PTR)this, CALLBACK_FUNCTION ); if(mmres != MMSYSERR_NOERROR) { /
利用waveIn完成简单录音(录成wav)
最新推荐文章于 2025-03-16 13:28:36 发布