Операционные системы. Учебное пособие. Марапулец Ю.В. - 226 стр.

UptoLike

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

sageBeep() также должен задаваться параметр MB_ICONHAND. Воспроизводимый звук
определяется записью SystemHand в системном реестре.
В табл. 9.2 приведен список допустимых значений параметра функции Message-
Beep(), а также соответствующих им записей в реестре.
Таблица 9.2
Значение параметра Запись в реестре
0xFFFFFFFF Стандартный сигнал, воспроизводимый через динамик
компьютера
MB_ICONASTERISK SystemAsterisk
MB_ICONEXCLAMATION SystemExclamation
MB_ICONHAND SystemHand
MB_ICONQUESTION SystemQuestion
MB_OK SystemDefault
С помощью панели управления или редактора реестра пользователь может связать
с этими сигналами любой WAV-файл. Подобно всем остальным функциям, связанным с
воспроизведением звуков, функция MessageBeep() требует наличия драйвера соответст-
вующего устройства. Обычный динамик персонального компьютера не является адек-
ватным мультимедийным устройством.
С помощью функции sndPlaySound() можно воспроизвести любой системный звук,
зафиксированный в реестре и сконфигурированный с помощью панели управления
(кроме пяти стандартных системных звуков могут использоваться дополнительные), или
воспроизвести непосредственно WAV-файл.
BOOL sndPlaySound( LPCTSTR lpszSoundName, // файл или запись реестра
UINT uFlags ); // флаги семейства SND_
Первый параметр указывает на запись в реестре, например SystemStart или Sys-
temQuestion. Кроме того, он может содержать полный путь и имя WAV-файла. Функция
sndPlaySound() требует свободного объема памяти, достаточного для полной загрузки
всего файла звукозаписи. Она лучше всего работает со звуковыми файлами, размер ко-
торых не превышает 100 Кб.
В качестве второго параметра ожидается флаг, задающий параметры воспроизве-
дения звука. Ниже приведено несколько возможных значений этого параметра.
SND_MEMORY - Определяет первый параметр как указатель объекта, находящегося в
памяти, а не как имя файла или системный звук.
SND_SYNC - Завершает воспроизведение звука и после этого возвращает управление
программе.
SND_ASYNC - Возвращает управление программе немедленно и воспроизводит звук в
фоновом режиме.
SND_ASYNC | SND_LOOP - Возвращает управление программе немедленно и в фоно-
вом режиме воспроизводит звук до тех пор, пока программа не вызовет функцию
sndPlaySound() со значением NULL в качестве первого параметра.
SND_NODEFAULT - Запрещает воспроизведение каких-либо звуков, если невозможно
найти заданный файл. Обычно функция sndPlaySound() в таких случаях воспроизводит
стандартный системный звук SystemDefault.
Для воспроизведения звуков, скомпилированных в виде ресурсов, лучше всего
подходит функция PlaySound().
BOOL PlaySound( LPCTSTR lpszSoundName, // имя файла или ресурса
HANDLE hModule, // источник звукового ресурса
228
sageBeep() также должен задаваться параметр MB_ICONHAND. Воспроизводимый звук
определяется записью SystemHand в системном реестре.
     В табл. 9.2 приведен список допустимых значений параметра функции Message-
Beep(), а также соответствующих им записей в реестре.
                                                                       Таблица 9.2
    Значение параметра                          Запись в реестре
0xFFFFFFFF                  Стандартный сигнал, воспроизводимый через динамик
                            компьютера
MB_ICONASTERISK             SystemAsterisk
MB_ICONEXCLAMATION SystemExclamation
MB_ICONHAND                 SystemHand
MB_ICONQUESTION             SystemQuestion
MB_OK                       SystemDefault

     С помощью панели управления или редактора реестра пользователь может связать
с этими сигналами любой WAV-файл. Подобно всем остальным функциям, связанным с
воспроизведением звуков, функция MessageBeep() требует наличия драйвера соответст-
вующего устройства. Обычный динамик персонального компьютера не является адек-
ватным мультимедийным устройством.
     С помощью функции sndPlaySound() можно воспроизвести любой системный звук,
зафиксированный в реестре и сконфигурированный с помощью панели управления
(кроме пяти стандартных системных звуков могут использоваться дополнительные), или
воспроизвести непосредственно WAV-файл.

BOOL sndPlaySound( LPCTSTR lpszSoundName,          // файл или запись реестра
                 UINT uFlags );                    // флаги семейства SND_

     Первый параметр указывает на запись в реестре, например SystemStart или Sys-
temQuestion. Кроме того, он может содержать полный путь и имя WAV-файла. Функция
sndPlaySound() требует свободного объема памяти, достаточного для полной загрузки
всего файла звукозаписи. Она лучше всего работает со звуковыми файлами, размер ко-
торых не превышает 100 Кб.
     В качестве второго параметра ожидается флаг, задающий параметры воспроизве-
дения звука. Ниже приведено несколько возможных значений этого параметра.
SND_MEMORY - Определяет первый параметр как указатель объекта, находящегося в
памяти, а не как имя файла или системный звук.
SND_SYNC - Завершает воспроизведение звука и после этого возвращает управление
программе.
SND_ASYNC - Возвращает управление программе немедленно и воспроизводит звук в
фоновом режиме.
SND_ASYNC | SND_LOOP - Возвращает управление программе немедленно и в фоно-
вом режиме воспроизводит звук до тех пор, пока программа не вызовет функцию
sndPlaySound() со значением NULL в качестве первого параметра.
SND_NODEFAULT - Запрещает воспроизведение каких-либо звуков, если невозможно
найти заданный файл. Обычно функция sndPlaySound() в таких случаях воспроизводит
стандартный системный звук SystemDefault.
     Для воспроизведения звуков, скомпилированных в виде ресурсов, лучше всего
подходит функция PlaySound().

BOOL PlaySound( LPCTSTR lpszSoundName,       // имя файла или ресурса
           HANDLE hModule,                   // источник звукового ресурса

                                       228