Составители:
dwRet = mciSendCommand( mciDevice, MCI_PLAY, MCI_FROM |
MCI_NOTIFY, (DWORD)(LPVOID) &mciPlayParms
);
if (dwRet != 0)
{
ReportMCIError( hWnd, dwRet );
return( FALSE );
}
return( TRUE ); // успешное завершение
}
Флаг MCI_FROM сигнализирует о присутствии определенного значения в
поле dwFrom. Флаг MCI_NOTIFY
приказывает системе отправить уведомление
в конце воспроизведения. Аудиофайлы могут быть достаточно большими,
поэтому мы позволяем подсистеме WinMM воспроизводить запись в фоновом
режиме, пока программа ShowWave выполняет следующую процедуру. Когда
подсистема WinMM обнаруживает, что достигнут конец WAV-файла, она
отправляет сообщение MM_MCINOTIFY
окну, указанному в поле dwCallback.
(При рассмотрении процедуры ShowWave_WndProc обратите внимание на
обработчик сообщения).
Уведомление не поступает до тех пор, пока устройство воспроизведения
не достигнет конца аудиофайла или позиции, заданной параметром dwTo. В
аргументе wParam уведомляющее сообщение содержит код завершения,
который говорит о том, выполнена ли операция нормально, или же она
прервана либо подавлена другой командой, адресованной к данному
устройству, или же не выполнена вообще из-за ошибки устройства. В младшем
слове аргумента lParam содержится идентификатор устройства.
Остановка воспроизведения. Команда MCI_STOP
прерывает
выполнение текущей операции. Если пользователь, начав воспроизведение
длинного аудиофайла, затем принимает решение не прослушивать его до конца,
он может щелкнуть на кнопке Stop. При этом передается сообщение
MCI_STOP,
которое отменяет воспроизведение. Подобно команде MCI_CLOSE,
в сообщении MCI_STOP не используется блок параметров.
/*-------------------------------------------------
STOP PLAY Прекращение
воспроизведения
---------------------------------------------------------*/
void StopPlay( HWND hWnd, MCIDEVICEID mciDevice )
{
DWORD dwRet;
dwRet = mciSendCommand(mciDevice, MCI_STOP, MCI_WAIT,
(DWORD)NULL );
if( dwRet != 0 )
73
dwRet = mciSendCommand( mciDevice, MCI_PLAY, MCI_FROM | MCI_NOTIFY, (DWORD)(LPVOID) &mciPlayParms ); if (dwRet != 0) { ReportMCIError( hWnd, dwRet ); return( FALSE ); } return( TRUE ); // успешное завершение } Флаг MCI_FROM сигнализирует о присутствии определенного значения в поле dwFrom. Флаг MCI_NOTIFY приказывает системе отправить уведомление в конце воспроизведения. Аудиофайлы могут быть достаточно большими, поэтому мы позволяем подсистеме WinMM воспроизводить запись в фоновом режиме, пока программа ShowWave выполняет следующую процедуру. Когда подсистема WinMM обнаруживает, что достигнут конец WAV-файла, она отправляет сообщение MM_MCINOTIFY окну, указанному в поле dwCallback. (При рассмотрении процедуры ShowWave_WndProc обратите внимание на обработчик сообщения). Уведомление не поступает до тех пор, пока устройство воспроизведения не достигнет конца аудиофайла или позиции, заданной параметром dwTo. В аргументе wParam уведомляющее сообщение содержит код завершения, который говорит о том, выполнена ли операция нормально, или же она прервана либо подавлена другой командой, адресованной к данному устройству, или же не выполнена вообще из-за ошибки устройства. В младшем слове аргумента lParam содержится идентификатор устройства. Остановка воспроизведения. Команда MCI_STOP прерывает выполнение текущей операции. Если пользователь, начав воспроизведение длинного аудиофайла, затем принимает решение не прослушивать его до конца, он может щелкнуть на кнопке Stop. При этом передается сообщение MCI_STOP, которое отменяет воспроизведение. Подобно команде MCI_CLOSE, в сообщении MCI_STOP не используется блок параметров. /*------------------------------------------------- STOP PLAY Прекращение воспроизведения ---------------------------------------------------------*/ void StopPlay( HWND hWnd, MCIDEVICEID mciDevice ) { DWORD dwRet; dwRet = mciSendCommand(mciDevice, MCI_STOP, MCI_WAIT, (DWORD)NULL ); if( dwRet != 0 ) 73
Страницы
- « первая
- ‹ предыдущая
- …
- 71
- 72
- 73
- 74
- 75
- …
- следующая ›
- последняя »