回 帖 发 新 帖 刷新版面

主题:有关录音问题

请问有哪位高手懂得编录音程序???小弟万分感激!!!




[fly]当某天,雨点轻巧你窗,当风声吹乱你构想,可否抽空想这张旧模样[/fly]

回复列表 (共2个回复)

沙发

// 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;
}

板凳

Thank you !!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册