0

我正在尝试运行此代码(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还是什么?如何运行它?

4

0 回答 0