Customizing the Recording Process

You can customize the recording process, taking complete control of most everything pics/MMEDIA00090001.gif from creating the MCIWnd window to saving the recorded information in a file. The following example queries the MCI device for recording and saving capabilities, and includes menu commands to record at the beginning or end of the content.

The following example uses the MCIWndCreate function to create a new window and allows you to specify an existing file to store the recorded data and the MCIWndNew macro to associate a new file with the window. Alternatively, you can use the MCIWndOpen or MCIWndOpenDialog macro to specify a file.

The example uses the MCIWndCanRecord macro to verify that the device can record and the MCIWndCanSave macro to verify that the device save information. The example sets the current playback position by using the MCIWndHome and MCIWndEnd macros. The example starts recording by using the MCIWndRecord macro. After the information is recorded, the example saves it by using the MCIWndSaveDialog macro.

case WM_COMMAND:

switch (wParam)

{

case IDM_CREATEMCIWND:

g_hwndMCIWnd = MCIWndCreate( hwnd, g_hinst,

WS_VISIBLE | WS_CHILD |

MCIWNDF_RECORD, // add Record button

NULL );

MCIWndNew(g_hwndMCIWnd, "waveaudio"); // new file

if( MCIWndCanRecord(g_hwndMCIWnd) )

{

MessageBox( hwnd,

"Press the red button on the toolbar to record.",

"MCIWnd Record",

MB_OK );

}

else

{

MessageBox( hwnd,

"This device doesn't record.",

"MCIWnd Record",

MB_OK );

}

break;

case IDM_RECORDATSTART:

if( MCIWndCanRecord(g_hwndMCIWnd) )

{

MCIWndHome(g_hwndMCIWnd);

MCIWndRecord(g_hwndMCIWnd);

}

else

{

MessageBox( hwnd,

"This device doesn't record.",

"MCIWnd Record",

MB_OK);

}

break;

case IDM_RECORDATEND:

if( MCIWndCanRecord(g_hwndMCIWnd) )

{

MCIWndEnd(g_hwndMCIWnd);

MCIWndRecord(g_hwndMCIWnd);

}

else

{

MessageBox( hwnd,

"This device doesn't record.",

"MCIWnd Record",

MB_OK);

}

break;

case IDM_SAVEMCIWND:

if( MCIWndCanSave(g_hwndMCIWnd) )

MCIWndSaveDialog(g_hwndMCIWnd);

}

break;

// Handle other messages here.

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