主题:有关录音问题
钛
[专家分:0] 发布于 2003-02-19 15:03:00
请问有哪位高手懂得编录音程序???小弟万分感激!!!
[fly]当某天,雨点轻巧你窗,当风声吹乱你构想,可否抽空想这张旧模样[/fly]
回复列表 (共2个回复)
沙发
vrace [专家分:3590] 发布于 2003-02-19 22:16:00
// Try this...
#include <Windows.h>
#include <mmsystem.h>
#define szApp "Record"
WORD m_wDeviceID;
BOOL RecordWave();
void StopRecord();
BOOL SaveToFile();
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
{
BOOL bSucc;
MessageBox(NULL, "This program will record for 5 seocnds. Push OK button to start.", szApp, MB_OK);
bSucc = RecordWave();
if(!bSucc)
{
MessageBox(NULL, "Could not start recording.", szApp, MB_ICONERROR);
return -1;
}
Sleep(1000 * 5);
StopRecord();
bSucc = SaveToFile();
if(!bSucc)
{
MessageBox(NULL, "Could not save to file!", szApp, MB_ICONERROR);
return -1;
}
MessageBox(NULL, "Record data has been saved to easyrec.wav", szApp, MB_ICONINFORMATION);
return 1;
}
BOOL RecordWave()
{
MCI_OPEN_PARMS OpenParms;
OpenParms.lpstrDeviceType = "waveaudio";
OpenParms.lpstrElementName = "";
if (mciSendCommand (NULL, MCI_OPEN, MCI_OPEN_ELEMENT | MCI_OPEN_TYPE | MCI_WAIT, (DWORD)(LPVOID) &OpenParms))
return FALSE;
m_wDeviceID = OpenParms.wDeviceID;
MCI_RECORD_PARMS RecordParms;
if (mciSendCommand (m_wDeviceID, MCI_RECORD, NULL, (DWORD)(LPVOID) &RecordParms))
return FALSE;
return TRUE;
}
void StopRecord()
{
mciSendCommand (m_wDeviceID, MCI_STOP, NULL, NULL);
}
BOOL SaveToFile()
{
MCI_SAVE_PARMS SaveParms;
SaveParms.lpfilename = "easyrec.wav";
if (mciSendCommand (m_wDeviceID, MCI_SAVE, MCI_SAVE_FILE | MCI_WAIT, (DWORD)(LPVOID) &SaveParms))
return FALSE;
return TRUE;
}
板凳
钛 [专家分:0] 发布于 2003-02-23 14:24:00
Thank you !!!
我来回复