Мультимедиа для Windows

         

Функция MessageBeep



Функция MessageBeep

Ранее, в предыдущих томах "Библиотеки системного программиста", мы упоминали функцию MessageBeep : void MessageBeep(UINT uAlert);

Эта функция как раз и предназначена для выдачи звуковых сигналов. Правда, если в компьютере не установлен драйвер звукового адаптера или драйвер для работы с динамиком, при вызове этой функции можно услышать только короткий звуковой сигнал "бип".

Если же звуковой драйвер установлен, в зависимости от значения параметра uAlert функция MessageBeep может воспроизводить один из звуковых фрагментов, записанных в wav-файле.

Обратите внимание, что в файле win.ini имеется раздел [sound], в котором перечислены различные ситуации. Для ситуации может быть указано имя wav-файла, который должен быть воспроизведен при ее возникновении: [sounds] SystemAsterisk=chimes.wav,Asterisk SystemHand=ding.wav,Critical Stop SystemDefault=,Default Beep SystemExclamation=ding.wav,Exclamation SystemQuestion=ding.wav,Question SystemExit=bye.wav,Windows Exit SystemStart=,Windows Start

У вас нет необходимости изменять этот раздел вручную, так как это можно сделать при помощи приложения Control Panel (рис. 1.8).

Возможные значения параметра uAlert для функции MessageBeep приведены в следующей таблице.



ЗначениеОписание
-1Стандартный звуковой сигнал, который выдается на встроенный в компьютер динамик
MB_ICONASTERISK Проигрывается wav-файл, определенный в строке SystemAsterisk раздела [sound] файла win.ini
MB_ICONEXLAMATION Аналогично для строки SystemExclamation
MB_ICONHAND Аналогично для строки SystemHand
MB_ICONQUESTION Аналогично для строки SystemQuestion
MB_OK Аналогично для строки SystemDefault

Функция MessageBeep пытается проиграть звуковой фрагмент в асинхронном (фоновом) режиме, если это позволяет звуковой драйвер. Если в системе установлен драйвер Sound Driver for PC Speaker, функция MessageBeep возвращает управление только после того, как проигрывание будет закончено. Если же функция не может проиграть нужный фрагмент, будет "исполнен" стандартный системный звук, определенный в строке SystemDefault раздела [sound] файла win.ini. Если же и это невозможно, вы услышите "бип" из встроенного в компьютер динамика.



Содержание    Назад    Вперед