MCI_OPEN_PARMS mciOpenParms;
mciOpenParms.lpstrDeviceType=(LPSTR)MCI_DEVTYPE_WAVEFORM_AUDIO;
mciOpenParms.lpstrElementName=pFileName;
dwResult=mciSendCommand(NULL,MCI_OPEN,
MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|MCI_WAIT|MCI_OPEN_ELEMENT,
(DWORD)(LPVOID)&mciOpenParms);
m_nDeviceID=mciOpenParms.wDeviceID;MCI_PLAY_PARMS mciPlayParms1;
mciPlayParms1.dwFrom=0;
DWORD dwResult=mciSendCommand(m_nDeviceID,MCI_PLAY,
MCI_FROM ,(DWORD)(LPVOID)&mciPlayParms1);我用上面的代码实现了wav文件的播放,但想实现反复播放该怎样做,有没有参数直接设置后就可以反复播放?
mciOpenParms.lpstrDeviceType=(LPSTR)MCI_DEVTYPE_WAVEFORM_AUDIO;
mciOpenParms.lpstrElementName=pFileName;
dwResult=mciSendCommand(NULL,MCI_OPEN,
MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|MCI_WAIT|MCI_OPEN_ELEMENT,
(DWORD)(LPVOID)&mciOpenParms);
m_nDeviceID=mciOpenParms.wDeviceID;MCI_PLAY_PARMS mciPlayParms1;
mciPlayParms1.dwFrom=0;
DWORD dwResult=mciSendCommand(m_nDeviceID,MCI_PLAY,
MCI_FROM ,(DWORD)(LPVOID)&mciPlayParms1);我用上面的代码实现了wav文件的播放,但想实现反复播放该怎样做,有没有参数直接设置后就可以反复播放?
MCI_CAPTURE
MCI_CLOSE
MCI_CONFIGURE
MCI_COPY
MCI_CUE
MCI_CUT
MCI_DELETE
MCI_ESCAPE
MCI_FREEZE
MCI_GETDEVCAPS
MCI_INDEX
MCI_INFO
MCI_LIST
MCI_LOAD
MCI_MARK
MCI_MONITOR // 好像是这个
MCI_OPEN
MCI_PASTE
MCI_PAUSE
MCI_PLAY
MCI_PUT
MCI_QUALITY
MCI_REALIZE
MCI_RECORD
MCI_RESERVE
MCI_RESTORE
MCI_RESUME
MCI_SAVE
MCI_SEEK
MCI_SET
MCI_SETAUDIO
MCI_SETTIMECODE
MCI_SETTUNER
MCI_SETVIDEO
MCI_SIGNAL
MCI_SPIN
MCI_STATUS // 好像是这个
MCI_STEP
MCI_STOP
MCI_SYSINFO
MCI_UNDO
MCI_UNFREEZE
MCI_UPDATE
MCI_WHERE
MCI_WINDOW
DWORD dwCallback;
DWORD dwFrom;
DWORD dwTo;
} MCI_PLAY_PARMS;
以上是播放参数的结构定义,没有反复播放的选项;
同意楼上几位兄弟的意见,把播放参数的dwCallback设置成你的回调函数,从中截获播放完成消息:WOM_DONE
返回以后重新开始播放;