有一个关于waveOutOpen与Modem的问题
我想用Modem在电话接通后向对方播放一段语音.用的是TAPI.看有些资料上说可以用waveOutOpen函数向Modem播放语音,其第二个参数dwDevID用Modem的句柄即可.但实际上我用lineGetID获得了Modem的句柄后,再用如下代码
HWAVEOUT hWho;
WAVEFORMATEX m_WaveFormatEx;
memset(&m_WaveFormatEx,0x00,sizeof(m_WaveFormatEx));
m_WaveFormatEx.wFormatTag = WAVE_FORMAT_PCM;
m_WaveFormatEx.nChannels = 1;
m_WaveFormatEx.wBitsPerSample = 16;
m_WaveFormatEx.cbSize = 0;
m_WaveFormatEx.nSamplesPerSec = 20050;
m_WaveFormatEx.nAvgBytesPerSec = m_WaveFormatEx.nSamplesPerSec
*(m_WaveFormatEx.wBitsPerSample/8);
m_WaveFormatEx.nBlockAlign =
(m_WaveFormatEx.wBitsPerSample/8)*
m_WaveFormatEx.nChannels;
MMRESULT mmReturn = waveOutOpen(&hWho,
(UINT)m_hModem,
&m_WaveFormatEx,NULL,NULL,
CALLBACK_WINDOW);
if(mmReturn!=MMSYSERR_NOERROR)
{
ShowMessage("初始化音频接口出错!");
char errorbuffer[MAX_PATH];
char errorbuffer1[MAX_PATH];
waveOutGetErrorText( mmReturn,errorbuffer,MAX_PATH);
sprintf(errorbuffer1,"WAVEOUT:%x:%s",mmReturn,errorbuffer);
ShowMessage(errorbuffer1);
}
结果执行果报错:所用的设备号超出了本地系统范围.
请问:这应该如何解决?
谢谢