我正在尝试运行此代码(VS2015、MFC、Windows 8):
int _nNumMixers = mixerGetNumDevs(); //returns 3
HMIXER hMixer = NULL;
//NOERROR
if (mixerOpen(&hMixer, 0, 0, NULL, MIXER_OBJECTF_MIXER) != MMSYSERR_NOERROR)
{
return FALSE;
}
//NOERROR
MIXERCAPS _mxcaps;
if (mixerGetDevCaps((UINT)hMixer, &_mxcaps, sizeof(MIXERCAPS)) != MMSYSERR_NOERROR)
{
return FALSE;
}
MIXERLINE mxl;
mxl.cbStruct = sizeof(MIXERLINE);
mxl.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_WAVEIN;
//!!!! the next returns 1 (MMSYSERR_ERROR - unspecified error)
if (mixerGetLineInfo((HMIXEROBJ)hMixer, &mxl, MIXER_OBJECTF_HMIXER | MIXER_GETLINEINFOF_COMPONENTTYPE) != MMSYSERR_NOERROR)
{
mixerClose (hMixer);
return FALSE;
}
MixerGetLineInfo 不起作用,它总是返回 MMSYSERR_NOERROR,这意味着未指定的错误。那是因为Win 8还是什么?如何运行它?