Playing a Waveform-Audio File

The following example opens a waveform-audio device and plays the waveform-audio file specified by the lpszWAVEFileName parameter.

// Plays a specified waveform-audio file using MCI_OPEN and MCI_PLAY.

// Returns when playback begins. Returns 0L on success, otherwise

// returns an MCI error code.

DWORD playWAVEFile(HWND hWndNotify, LPSTR lpszWAVEFileName)

{

UINT wDeviceID;

DWORD dwReturn;

MCI_OPEN_PARMS mciOpenParms;

MCI_PLAY_PARMS mciPlayParms;

// Open the device by specifying the device and filename.

// MCI will choose a device capable of playing the specified file.

mciOpenParms.lpstrDeviceType = "waveaudio";

mciOpenParms.lpstrElementName = lpszWAVEFileName;

if (dwReturn = mciSendCommand(0, MCI_OPEN,
MCI_OPEN_TYPE | MCI_OPEN_ELEMENT, (DWORD)(LPVOID) &mciOpenParms))

{

// Failed to open device. Don't close it; just return error.

return (dwReturn);

}

// The device opened successfully; get the device ID.

wDeviceID = mciOpenParms.wDeviceID;

// Begin playback. The window procedure function for the parent

// window will be notified with an MM_MCINOTIFY message when

// playback is complete. At this time, the window procedure closes

// the device.

mciPlayParms.dwCallback = (DWORD) hWndNotify;

if (dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_NOTIFY,

(DWORD)(LPVOID) &mciPlayParms))

{

mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);

return (dwReturn);

}

return (0L);

}

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database