Основы программирования в Win32API. Марапулец Ю.В. - 142 стр.

UptoLike

Составители: 

SND_RESOURCE – воспроизводит звук, содержащийся в программном
ресурсе; первый параметр представляет собой идентификатор ресурса, кото-
рый возвращается макрокомандой MAKEINTRESOURCE.
Эти три флага являются взаимоисключающими. Кроме них функция
PlaySound() распознает некоторые флаги, определенные для sndPlaySound(),
например SND_NODEFAULT
и SND_ASYNC. Флаг SND_MEMORY она не
распознает.
Если в составе параметра dwFlags отсутствует флаг SND_RESOURCE,
ТО
второй параметр, hModule, игнорируется. В противном случае параметр hMo-
dule идентифицирует программу, ресурсы которой включают звукозапись, ука-
занную аргументом lpszSoundName. Данный дескриптор может быть получен
с помощью функции GetModuleHandle(), LoadLibrary() или GetWindowLong().
В Windows не определено ключевое слово WAVE,
которое могло бы ис-
пользоваться в файлах ресурсов по аналогии с ключевыми словами ICON
и BITMAP,
но вы всегда можете самостоятельно определить собственный тип
ресурса [2]:
< имя ресурса > WAVE < имя файла >
// добавить звукозапись к ресурсам программы.
Параметр < имя ресурса > представляет собой имя, используемое для но-
вого ресурса, а параметр < имя файла > указывает на WAV-файл. Функция
PlaySound() всегда ищет ресурсы, тип которых определен как WAVE.
Функции PlaySound(), MessageBeep() и sndPlaySound() просты в использо-
вании, но им присущ ряд ограничений. Чтобы задавать точку начала воспроиз-
ведения, записывать и микшировать звуки, изменять уровень громкости, нуж-
ны дополнительные команды. Основным средством мультимедийного
программирования является MCI-интерфейс, описание которого приводится
ниже.
MCI-операции организованы в виде командных сообщений, которые пере-
даются устройствам. В общем случае операция начинается с открытия устройст-
ва; затем посылается команда, например MCI_PLAY
или MCI_STOP, которая за-
ставляет устройство начать воспроизведение, остановиться, начать запись,
«перемотку» и т. д. Наконец происходит закрытие устройства.
Самой важной и многоцелевой среди MCI-функций является функция
mciSendCommand(). Она служит для передачи устройству одного из многочис-
ленных сигналов:
MCIERROR mciSendCommand( MCIDEVICEID mciDeviceID,
// идентификатор устройства
HINT uMessage, // номер сообщения
DWORD dwFlags, // флаги DWORD
dwParamBlock, // информационная структура);…
Первый параметр, mciDeviceID, представляет собой адрес конкретного
устройства. При открытии устройства команда mciSendCommand возвращает
142
     SND_RESOURCE – воспроизводит звук, содержащийся в программном
ресурсе; первый параметр представляет собой идентификатор ресурса, кото-
рый возвращается макрокомандой MAKEINTRESOURCE.
     Эти три флага являются взаимоисключающими. Кроме них функция
PlaySound() распознает некоторые флаги, определенные для sndPlaySound(),
например SND_NODEFAULT и SND_ASYNC. Флаг SND_MEMORY она не
распознает.
     Если в составе параметра dwFlags отсутствует флаг SND_RESOURCE, ТО
второй параметр, hModule, игнорируется. В противном случае параметр hMo-
dule идентифицирует программу, ресурсы которой включают звукозапись, ука-
занную аргументом lpszSoundName. Данный дескриптор может быть получен
с помощью функции GetModuleHandle(), LoadLibrary() или GetWindowLong().
     В Windows не определено ключевое слово WAVE, которое могло бы ис-
пользоваться в файлах ресурсов по аналогии с ключевыми словами ICON
и BITMAP, но вы всегда можете самостоятельно определить собственный тип
ресурса [2]:
< имя ресурса > WAVE < имя файла >
// добавить звукозапись к ресурсам программы.
      Параметр < имя ресурса > представляет собой имя, используемое для но-
вого ресурса, а параметр < имя файла > указывает на WAV-файл. Функция
PlaySound() всегда ищет ресурсы, тип которых определен как WAVE.
      Функции PlaySound(), MessageBeep() и sndPlaySound() просты в использо-
вании, но им присущ ряд ограничений. Чтобы задавать точку начала воспроиз-
ведения, записывать и микшировать звуки, изменять уровень громкости, нуж-
ны дополнительные команды. Основным средством мультимедийного
программирования является MCI-интерфейс, описание которого приводится
ниже.
      MCI-операции организованы в виде командных сообщений, которые пере-
даются устройствам. В общем случае операция начинается с открытия устройст-
ва; затем посылается команда, например MCI_PLAY или MCI_STOP, которая за-
ставляет устройство начать воспроизведение, остановиться, начать запись,
«перемотку» и т. д. Наконец происходит закрытие устройства.
      Самой важной и многоцелевой среди MCI-функций является функция
mciSendCommand(). Она служит для передачи устройству одного из многочис-
ленных сигналов:

    MCIERROR mciSendCommand( MCIDEVICEID mciDeviceID,
                                // идентификатор устройства
               HINT uMessage,       // номер сообщения
               DWORD dwFlags,          // флаги DWORD
               dwParamBlock, // информационная структура);…

    Первый параметр, mciDeviceID, представляет собой адрес конкретного
устройства. При открытии устройства команда mciSendCommand возвращает

                                    142