|
|
|||
|
wm-help.net -> Электронная библиотека -> C++/C#/C -> Visual C++ -> 18. Проигрывание Wave-файлов под MFC18. Проигрывание Wave-файлов под MFC
18. Проигрывание Wave-файлов под MFC
2. Проигрывание Wave-файла в виде ресурса 3. Проигрывание Wave-файла с диска 4. Пример проекта 1. Введение
2. Выберите Project -> Settings... --> Link --> General и поставте в поле Object/Library modules библиотеку winmm.lib( это очень важно, проверте !!! ) 2. Проигрывание Wave-файла в виде ресурсаКак только ресурс зарегистрирован можно написать в файле mysoundDlg.cpp функции проигрывания этого ресурса : В фунции ::FindResource(AfxGetResourceHandle(), lpszSound, _T("sound")) третий параметр - тип ресурса, который был описан выше. Теперь можно проиграть ресурс : PlayResource( IDSOUND_CORRECT ); 3. Проигрывание Wave-файла с диска BOOL sndPlaySound( LPCTSTR lpszSoundName;
UINT fuOptions; ); Параметры функции:
lpszSoundName Имя файла. Если этот параметр NULL,
то проигрывание файла останавливается. fuOptions
Специальные опции для проигрывания музыки.
Они могут быть следующими:
Значение Описание
SND_SYNC Музыка играется синхронно, и функция
не возвращает указатель пока не будет конца файла.
SND_ASYNC Музыка играется асинхронно, и функция
возвращает указатель сразу после начала
проигрывания файла. Чтобы остановить проигрывание,
надо вызвать функцию SndPlaySound с параметром
lpszSoundName установленным в NULL.
SND_NODEFAULT Если файл не найден, то функция
возвращает указатель сразу и не
проигрывает стандартный звуковой эффект Windows.
SND_MEMORY Этот параметр нужен для проигрывания
Wave-файла в виде ресурса( из памяти ).
SND_LOOP Этот параметр нужен для проигрывания
Wave-файла в циклическом режиме. Также
при этом вы должны использовать влаг SND_ASYNC.
Чтобы остановить проигрывание, надо вызвать
функцию SndPlaySound с параметром
lpszSoundName установленным в NULL.
SND_NOSTOP Если музыка уже проигрывается,
то функция возврвщает FALSE.
Возвращаемое значение: Если музыка проигрывается
правильно, то функция возврвщает TRUE, иначе FALSE.
Пример использования: B
OOL bOk = sndPlaySound( "test.wav", SND_SYNC);
if (!bOk) { AfxMessageBox
("Error ! Can not play the sound. !!!"); } 4. Пример проекта
|
|
| бодибилдинг | Строим Домик | RU-домены за 170 рублей | Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2009. При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны! Время генерации страницы: 0.031 |