代码如下:
int err;
char errtext[1000];
MCI_DGV_SETAUDIO_PARMS parm;
parm.dwValue=MCI_DGV_SETAUDIO_SOURCE_LEFT;
parm.dwItem=MCI_DGV_SETAUDIO_SOURCE;
err=mciSendCommand(mciGetDeviceID("thevideo"),MCI_SETAUDIO,MCI_SETAUDIO_VALUE||MCI_SETAUDIO_ITEM,(DWORD)(&parm));
if(err!=0)
{
  memset(errtext,'\0',1000);
  mciGetErrorString(err,errtext,1000);
  MessageBox(hwnd,errtext,szAppName,MB_OK||MB_INFORMATION);
}得到的信息为:指定的命令需要一个参数,请提供此参数请各位大侠指教,谢谢

解决方案 »

  1.   

    err=mciSendCommand(mciGetDeviceID("thevideo"),MCI_SETAUDIO,MCI_SETAUDIO_VALUE||MCI_SETAUDIO_ITEM,(DWORD)(&parm));
    也许你的mciGetDeviceID("thevideo")没有返回一个有效的设备ID。
      

  2.   

    肯定返回的时有效的设备ID,因为其前一条mciSendCommand也是使用其ID,执行成功。
      

  3.   

    err=mciSendCommand(mciGetDeviceID("thevideo"),MCI_SETAUDIO,MCI_SETAUDIO_VALUE||MCI_SETAUDIO_ITEM,(DWORD)(&parm));大哥,按位或啊。MCI_SETAUDIO_VALUE||MCI_SETAUDIO_ITEM  你的是逻辑或啊MCI_SETAUDIO_VALUE  |  MCI_SETAUDIO_ITEM