Automating Playback for MCIWnd

You can automate playback for MCIWnd by specifying certain window styles in the MCIWndCreate function. To play the device, the window needs a parent window to process notification messages, a playback area to play AVI files, and notification of device mode changes to identify when playback stops. The window does not need a toolbar. You can set these characteristics by specifying the appropriate styles in MCIWndCreate.

The following example uses menu commands to create an MCIWnd window to play content from several different types of devices. The MCIWndCreate function creates the MCIWnd window, and devices and files are loaded by using the MCIWndOpen macro in the device-specific commands. When a device finishes playing, you close the device by trapping the MCIWNDM_NOTIFYMODE message and issuing the MCIWndClose macro.

case WM_COMMAND:

switch (wParam)

{

case IDM_CREATEMCIWND:

dwMCIWndStyle = WS_CHILD | // child window

WS_VISIBLE | // visible

MCIWNDF_NOTIFYMODE | // notifies of mode changes

MCIWNDF_NOPLAYBAR; // hides toolbar

g_hwndMCIWnd = MCIWndCreate(hwnd,

g_hinst, dwMCIWndStyle, NULL);

break;

case IDM_PLAYCDA:

LoadNGoMCIWnd(hwnd, "CDAudio");

break;

case IDM_PLAYWAVE:

LoadNGoMCIWnd(hwnd, "SoundWave.WAV");

break;

case IDM_PLAYMIDI:

LoadNGoMCIWnd(hwnd, "MIDIFile.MID");

break;

case IDM_PLAYAVI:

LoadNGoMCIWnd(hwnd, "AVIFile.AVI");

break;

case IDM_EXIT:

MCIWndDestroy(g_hwndMCIWnd);

DestroyWindow(hwnd);

break;

}

break;

case MCIWNDM_NOTIFYMODE:

if (lParam == MCI_MODE_STOP) // device stopped

{

MessageBox(hwnd,"","Closing Device",MB_OK);

MCIWndClose(g_hwndMCIWnd);

}

break;

// Handle other messages here.

// LoadNGoMCIWnd - automatically loads and plays a multimedia device

//

// hwnd - handle to the parent window

// lpstr - pointer to device or filename played by device

//

// Global variable

// extern HINSTANCE g_hwndMCIWnd; instance handle to MCIWnd window

VOID LoadNGoMCIWnd(HWND hwnd, LPSTR lpstr)

{

MessageBox(hwnd, lpstr, "Loading Device", MB_OK);

MCIWndOpen(g_hwndMCIWnd, lpstr, NULL); // new device in window

MCIWndPlay(g_hwndMCIWnd); // plays device

}

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