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

UptoLike

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

Windows.
В Windows NT все подсистемы сделаны изначально 32-разрядными, по-
этому данных проблем там не возникает, однако задержки ввода и вывода зву-
ка по-прежнему определяются частотой обновления кольцевого буфера, кото-
рая задается драйвером конкретного адаптера.
10.2. Элементарные API-функции для обработки звука
По общепринятой договоренности файлам звукозаписи присваивается
расширение WAV. Для воспроизведения звука большинство программ исполь-
зуют одну из трех простейших функций, которые лучше всего подходят для
работы с короткими WAV-файлами:
MessageBeep() – воспроизводит системные звуки, занесенные в реестр
в качестве сигналов предупреждений и сигналов об ошибках;
SndPlaySound() – воспроизводит звук непосредственно из WAV-файла
или из буфера в памяти;
PlaySound() – новая функция Win32, которая во многом дублирует коман-
ду sndPlaySound, но имеет два отличия: она не воспроизводит фрагменты, на-
ходящиеся в памяти, но позволяет прослушивать звукозаписи, которые хра-
нятся в ресурсах типа WAVE.
Функция MessageBeep() принимает единственный параметр, указываю-
щий один из пяти системных звуков, сконфигурированных с помощью панели
управления. Дополняя каждый вызов функции MessageBox() функцией
MessageBeep(), можно сопровождать звуковыми сигналами все сообщения
различного уровня важности. Например, если функция MessageBox() отобра-
жает значок MB_ICONHAND,
в качестве аргумента MessageBeep() также дол-
жен задаваться параметр MB_ICONHAND.
Воспроизводимый звук определя-
ется записью SystemHand в системном реестре.
С помощью панели управления или редактора реестра пользователь может
связать с этими сигналами любой WAV-файл. Подобно всем остальным функ-
циям, связанным с воспроизведением звуков, функция MessageBeep() требует
наличия драйвера соответствующего устройства. Обычный динамик персонально-
го компьютера не является адекватным мультимедийным устройством.
В табл. 10.2 приведен список допустимых значений параметра функции
MessageBeep(), а также соответствующих им записей в реестре.
Таблица 10.2
Значение параметра Запись в реестре
0xFFFFFFFF
Стандартный сигнал, воспроизводимый через динамик ком-
пьютера
MB_ICONASTERISK SystemAsterisk
MB_ICONEXCLAMATION SystemExclamation
140
Windows.
     В Windows NT все подсистемы сделаны изначально 32-разрядными, по-
этому данных проблем там не возникает, однако задержки ввода и вывода зву-
ка по-прежнему определяются частотой обновления кольцевого буфера, кото-
рая задается драйвером конкретного адаптера.



         10.2. Элементарные API-функции для обработки звука

     По общепринятой договоренности файлам звукозаписи присваивается
расширение WAV. Для воспроизведения звука большинство программ исполь-
зуют одну из трех простейших функций, которые лучше всего подходят для
работы с короткими WAV-файлами:
     MessageBeep() – воспроизводит системные звуки, занесенные в реестр
в качестве сигналов предупреждений и сигналов об ошибках;
     SndPlaySound() – воспроизводит звук непосредственно из WAV-файла
или из буфера в памяти;
     PlaySound() – новая функция Win32, которая во многом дублирует коман-
ду sndPlaySound, но имеет два отличия: она не воспроизводит фрагменты, на-
ходящиеся в памяти, но позволяет прослушивать звукозаписи, которые хра-
нятся в ресурсах типа WAVE.
     Функция MessageBeep() принимает единственный параметр, указываю-
щий один из пяти системных звуков, сконфигурированных с помощью панели
управления. Дополняя каждый вызов функции MessageBox() функцией
MessageBeep(), можно сопровождать звуковыми сигналами все сообщения
различного уровня важности. Например, если функция MessageBox() отобра-
жает значок MB_ICONHAND, в качестве аргумента MessageBeep() также дол-
жен задаваться параметр MB_ICONHAND. Воспроизводимый звук определя-
ется записью SystemHand в системном реестре.
     С помощью панели управления или редактора реестра пользователь может
связать с этими сигналами любой WAV-файл. Подобно всем остальным функ-
циям, связанным с воспроизведением звуков, функция MessageBeep() требует
наличия драйвера соответствующего устройства. Обычный динамик персонально-
го компьютера не является адекватным мультимедийным устройством.
     В табл. 10.2 приведен список допустимых значений параметра функции
MessageBeep(), а также соответствующих им записей в реестре.

                                                                Таблица 10.2

   Значение параметра                     Запись в реестре
                    Стандартный сигнал, воспроизводимый через динамик ком-
0xFFFFFFFF
                   пьютера
MB_ICONASTERISK     SystemAsterisk
MB_ICONEXCLAMATION  SystemExclamation

                                   140