//mciSendCommand实现录音
static TCHAR szFileName[] = TEXT ("record.wav") ;
static WORD wDeviceID ;
DWORD dwError ;
MCI_GENERIC_PARMS mciGeneric ;
MCI_OPEN_PARMS mciOpen ;
MCI_PLAY_PARMS mciPlay ;
MCI_RECORD_PARMS mciRecord ;
MCI_SAVE_PARMS mciSave ;
*************************************************************************
//开始录音
mciOpen.dwCallback = 0 ;
mciOpen.wDeviceID = 0 ;
mciOpen.lpstrDeviceType = TEXT ("waveaudio") ;
mciOpen.lpstrElementName = TEXT ("") ;
mciOpen.lpstrAlias = NULL ;
dwError = mciSendCommand (0, MCI_OPEN,
MCI_WAIT | MCI_OPEN_TYPE | MCI_OPEN_ELEMENT,
(DWORD_PTR) &mciOpen) ;
if (dwError != 0)
{
return TRUE ;
}
// Save the device ID
wDeviceID = mciOpen.wDeviceID ;
// Begin recording
mciRecord.dwCallback =(DWORD_PTR)hWnd ;
mciRecord.dwFrom = 0 ;
mciRecord.dwTo = 0 ;
mciSendCommand (wDeviceID, MCI_RECORD, MCI_NOTIFY,
(DWORD_PTR) &mciRecord) ;
*************************************************************************
//录音结束
mciGeneric.dwCallback = 0 ;
mciSendCommand (wDeviceID, MCI_STOP, MCI_WAIT,
(DWORD_PTR) &mciGeneric) ;
// Save the file
mciSave.dwCallback = 0 ;
mciSave.lpfilename = szFileName ;
mciSendCommand (wDeviceID, MCI_SAVE, MCI_WAIT | MCI_SAVE_FILE,
(DWORD_PTR) &mciSave) ;
// Close the waveform device
mciSendCommand (wDeviceID, MCI_CLOSE, MCI_WAIT,
(DWORD_PTR) &mciGeneric) ;
**************************************************************************
//播放录音
mciOpen.dwCallback = 0 ;
mciOpen.wDeviceID = 0 ;
mciOpen.lpstrDeviceType = NULL ;
mciOpen.lpstrElementName = szFileName ;
mciOpen.lpstrAlias = NULL ;
dwError = mciSendCommand (0, MCI_OPEN,
MCI_WAIT | MCI_OPEN_ELEMENT,
(DWORD_PTR) &mciOpen) ;
if (dwError != 0)
{
return TRUE ;
}
// Save the device ID
wDeviceID = mciOpen.wDeviceID ;
// Begin playing
mciPlay.dwCallback = (DWORD_PTR) hWnd ;
mciPlay.dwFrom = 0 ;
mciPlay.dwTo = 0 ;
mciSendCommand (wDeviceID, MCI_PLAY, MCI_NOTIFY,
(DWORD_PTR) &mciPlay) ;
MCI实现录音
最新推荐文章于 2021-02-11 10:42:39 发布
1108

被折叠的 条评论
为什么被折叠?



