Составители:
DWORD dwFlags ); // опции воспроизведения
Функция интерпретирует первый параметр в соответствии с установленными фла-
гами.
SND_ALIAS - Воспроизводит звук, заданный в системном реестре. Первый параметр
представляет собой псевдоним, записанный в реестре, например SystemAsterisk или Sys-
temHand.
SND_FILENAME - Воспроизводит звук, записанный в WAV-файле, по аналогии с
функцией sndPlaySound(). Первый параметр указывает имя файла.
SND_RESOURCE - Воспроизводит звук, содержащийся в программном ресурсе. Пер-
вый параметр представляет собой идентификатор ресурса, который возвращается мак-
рокомандой MAKEINTRESOURCE.
Эти три флага являются взаимоисключающими. Кроме них функция PlaySound()
распознает некоторые флаги, определенные для sndPlaySound(), например
SND_NODEFAULT и SND_ASYNC. Флаг SND_MEMORY она не распознает.
Если в составе параметра dwFlags отсутствует флаг SND_RESOURCE, второй па-
раметр, hModule, игнорируется. В противном случае параметр hModule идентифицирует
программу, ресурсы которой включают звукозапись, указанную аргументом lpszSound-
Name. Данный дескриптор может быть получен с помощью функции GetModuleHandle(),
LoadLibrary() или GetWindowLong().
В Windows не определено ключевое слово WAVE, которое могло бы использовать-
ся в файлах ресурсов по аналогии с ключевыми словами ICON и BITMAP, но вы всегда
можете самостоятельно определить собственный тип ресурса [12].
<имя ресурса> WAVE <имя файла> // добавить звукозапись к ресурсам программы
Параметр <имя ресурса> представляет собой имя, используемое для нового ресур-
са, а параметр <имя файла> указывает на WAV-файл. Функция PlaySound() всегда
ищет ресурсы, тип которых определен как WAVE.
Функции PlaySound(), MessageBeep() и sndPlaySound() просты в использовании, но
им присущ ряд ограничений. Чтобы задавать точку начала воспроизведения, записывать
и микшировать звуки, изменять уровень громкости, нужны дополнительные команды.
Основным средством мультимедийного программирования является MCI - интерфейс,
который описан ниже.
MCI-операции организованы в виде командных сообщений, которые передаются
устройствам. В общем случае операция начинается с открытия устройства; затем посы-
лается команда, например MCI_PLAY или MCI_STOP, которая заставляет устройство
начать воспроизведение, остановиться, начать запись, "перемотку" и т.д. Наконец, про-
исходит закрытие устройства.
Самой важной и многоцелевой среди MCI-функций является функция mciSend-
Command(). Она служит для передачи устройству одного из многочисленных сигналов.
MCIERROR mciSendCommand( MCIDEVICEID mciDeviceID,
// идентификатор устройства
HINT uMessage, // номер сообщения
DWORD dwFlags, // флаги DWORD
dwParamBlock ); // информационная структура
Первый параметр mciDeviceID, представляет собой адрес конкретного устройст-
ва. При открытии устройства команда mciSendCommand возвращает его идентификатор,
229
DWORD dwFlags ); // опции воспроизведения Функция интерпретирует первый параметр в соответствии с установленными фла- гами. SND_ALIAS - Воспроизводит звук, заданный в системном реестре. Первый параметр представляет собой псевдоним, записанный в реестре, например SystemAsterisk или Sys- temHand. SND_FILENAME - Воспроизводит звук, записанный в WAV-файле, по аналогии с функцией sndPlaySound(). Первый параметр указывает имя файла. SND_RESOURCE - Воспроизводит звук, содержащийся в программном ресурсе. Пер- вый параметр представляет собой идентификатор ресурса, который возвращается мак- рокомандой MAKEINTRESOURCE. Эти три флага являются взаимоисключающими. Кроме них функция PlaySound() распознает некоторые флаги, определенные для sndPlaySound(), например SND_NODEFAULT и SND_ASYNC. Флаг SND_MEMORY она не распознает. Если в составе параметра dwFlags отсутствует флаг SND_RESOURCE, второй па- раметр, hModule, игнорируется. В противном случае параметр hModule идентифицирует программу, ресурсы которой включают звукозапись, указанную аргументом lpszSound- Name. Данный дескриптор может быть получен с помощью функции GetModuleHandle(), LoadLibrary() или GetWindowLong(). В Windows не определено ключевое слово WAVE, которое могло бы использовать- ся в файлах ресурсов по аналогии с ключевыми словами ICON и BITMAP, но вы всегда можете самостоятельно определить собственный тип ресурса [12]. <имя ресурса> WAVE <имя файла> // добавить звукозапись к ресурсам программы Параметр <имя ресурса> представляет собой имя, используемое для нового ресур- са, а параметр <имя файла> указывает на WAV-файл. Функция PlaySound() всегда ищет ресурсы, тип которых определен как WAVE. Функции PlaySound(), MessageBeep() и sndPlaySound() просты в использовании, но им присущ ряд ограничений. Чтобы задавать точку начала воспроизведения, записывать и микшировать звуки, изменять уровень громкости, нужны дополнительные команды. Основным средством мультимедийного программирования является MCI - интерфейс, который описан ниже. MCI-операции организованы в виде командных сообщений, которые передаются устройствам. В общем случае операция начинается с открытия устройства; затем посы- лается команда, например MCI_PLAY или MCI_STOP, которая заставляет устройство начать воспроизведение, остановиться, начать запись, "перемотку" и т.д. Наконец, про- исходит закрытие устройства. Самой важной и многоцелевой среди MCI-функций является функция mciSend- Command(). Она служит для передачи устройству одного из многочисленных сигналов. MCIERROR mciSendCommand( MCIDEVICEID mciDeviceID, // идентификатор устройства HINT uMessage, // номер сообщения DWORD dwFlags, // флаги DWORD dwParamBlock ); // информационная структура Первый параметр mciDeviceID, представляет собой адрес конкретного устройст- ва. При открытии устройства команда mciSendCommand возвращает его идентификатор, 229
Страницы
- « первая
- ‹ предыдущая
- …
- 225
- 226
- 227
- 228
- 229
- …
- следующая ›
- последняя »