头文件定义:
private:
HWAVEIN m_hWaveIn; //输入设备
WAVEFORMATEX m_waveform; //采集音频的格式,结构体
CPP:
m_waveform.wFormatTag = WAVE_FORMAT_PCM; //声音格式为PCM
m_waveform.nSamplesPerSec = SAMPLESPERSRC_44100; //采样率,16000次/秒
m_waveform.wBitsPerSample = 16; //采样比特,16bits/次
m_waveform.nChannels = 1; //采样声道数,2声道
m_waveform.nAvgBytesPerSec = SAMPLESPERSRC_44100 * 2; //每秒的数据率,就是每秒能采集多少字节的数据
m_waveform.nBlockAlign = 2; //一个块的大小,采样bit的字节数乘以声道数
m_waveform.cbSize = 0; //一般为0
//使用waveInOpen函数开启音频采集
MMRESULT mmr = waveInOpen(&m_hWaveIn,WAVE_MAPPER,&m_waveform,
(DWORD)(MicCallback), DWORD(this), CALLBACK_FUNCTION);
if(mmr != MMSYSERR_NOERROR)
return false;
当运行到 waveInOpen这个函数的时候,程序直接报错。如图,可以保证在window xp下绝对是可以用的,现在的开发环境是window8,请高人帮忙解答下,万分感谢!