Составители:
Поле lpstrElementName назначает источник данных для
комбинированного устройства. Windows различает простые и
комбинированные устройства. Для простого устройства не нужно указывать
имя файла, а для комбинированного устройства - нужно. Например, программа
не может самостоятельно выбрать компакт-диск, а воспроизводит всегда тот
диск, который находится в дисководе. Таким образом, проигрыватель компакт-
дисков является простым устройством. С другой стороны, проигрыватель
аудиофайлов может воспроизводить любой указанный ему файл. Поэтому
устройство waveaudio является комбинированным.
Элемент устройства представляет собой входную или выходную среду,
которую программа связывает с устройством. Чаще всего это файл, поэтому в
поле lpstrElementName обычно содержится имя файла.
Последнее поле, lpstrAlias, позволяет задать псевдоним для имени
открытого устройства. Псевдонимы можно применять только в командных
строках MCI.
Все поля блока параметров заполнять не обязательно. Так, можно задать
только имя элемента и позволить системе самостоятельно выбрать
соответствующее устройство по расширению имени файла - скажем,
проигрыватель WAV-файлов или синтезатор для MID-файлов. Если вы хотите
получить информацию о любом устройстве, можно открыть его, указав его тип
без задания элемента. Флаги функции mciSendCommand сообщают системе,
какие поля следует прочитать. Например:
/*-------------------------------------------------------------
OPEN DEVICE
Открытие устройства воспроизведения аудиофайлов
--------------------------------------------------------------*/
BOOL OpenDevice( HWND hWnd, LPSTR lpszFileName,
MCIDEVICEID *lpmciDevice )
{
DWORD dwRet;
MCI_OPEN_PARMS mciOpenParms;
/* открытие комбинированного устройства */
mciOpenParms.lpstrDeviceType = "waveaudio";
mciOpenParms.lpstrElementName = lpszFileName;
dwRet = mciSendCommand( 0, // идентификатор устройства
MCI_OPEN, // команда
MCI_OPEN_TYPE | MCI_OPEN_ELEMENT, // флаги
(DWORD)(LPVOID) &mciOpenParms ); // блок параметров
if( dwRet != 0 )
{
ReportMCIError( hWnd, dwRet );
return( FALSE );
}
69
Поле lpstrElementName назначает источник данных для комбинированного устройства. Windows различает простые и комбинированные устройства. Для простого устройства не нужно указывать имя файла, а для комбинированного устройства - нужно. Например, программа не может самостоятельно выбрать компакт-диск, а воспроизводит всегда тот диск, который находится в дисководе. Таким образом, проигрыватель компакт- дисков является простым устройством. С другой стороны, проигрыватель аудиофайлов может воспроизводить любой указанный ему файл. Поэтому устройство waveaudio является комбинированным. Элемент устройства представляет собой входную или выходную среду, которую программа связывает с устройством. Чаще всего это файл, поэтому в поле lpstrElementName обычно содержится имя файла. Последнее поле, lpstrAlias, позволяет задать псевдоним для имени открытого устройства. Псевдонимы можно применять только в командных строках MCI. Все поля блока параметров заполнять не обязательно. Так, можно задать только имя элемента и позволить системе самостоятельно выбрать соответствующее устройство по расширению имени файла - скажем, проигрыватель WAV-файлов или синтезатор для MID-файлов. Если вы хотите получить информацию о любом устройстве, можно открыть его, указав его тип без задания элемента. Флаги функции mciSendCommand сообщают системе, какие поля следует прочитать. Например: /*------------------------------------------------------------- OPEN DEVICE Открытие устройства воспроизведения аудиофайлов --------------------------------------------------------------*/ BOOL OpenDevice( HWND hWnd, LPSTR lpszFileName, MCIDEVICEID *lpmciDevice ) { DWORD dwRet; MCI_OPEN_PARMS mciOpenParms; /* открытие комбинированного устройства */ mciOpenParms.lpstrDeviceType = "waveaudio"; mciOpenParms.lpstrElementName = lpszFileName; dwRet = mciSendCommand( 0, // идентификатор устройства MCI_OPEN, // команда MCI_OPEN_TYPE | MCI_OPEN_ELEMENT, // флаги (DWORD)(LPVOID) &mciOpenParms ); // блок параметров if( dwRet != 0 ) { ReportMCIError( hWnd, dwRet ); return( FALSE ); } 69
Страницы
- « первая
- ‹ предыдущая
- …
- 67
- 68
- 69
- 70
- 71
- …
- следующая ›
- последняя »