910_____________________________________________Глава 14

Функция PlaySound API Windows воспроизводит звук указанного волнового
файла, или звука системного события, или звука из ресурса.

Параметр pszSound представляет собой строку с нулевым символом в конце и
определяет воспроизводимый звук. В зависимости от значений флага fdwSound
(SND_FILENAME, SND_ALIAS или SND_RESOURCE) параметр pszSound мо-
жет определять имя волнового файла, псевдоним системного события или иденти-
фикатор ресурса. Если ни один из этих флагов не указан, функция ищет в реестре
Windows или в файле WIN.INI указанное имя звука. Если звук найден, то он вос-
производится. Если звук не найден, то параметр pszSound интерпретируется как
имя файла.

Звук, указанный параметром pszSound, должен помещаться в доступную па-
мять и должен подходить для установленного драйвера устройства воспроизведе-
ния волновых файлов. Функция PlaySound ищет файл звука в следующих катало-
гах: текущем, каталоге Windows, системном каталоге Windows, каталогах, перечис-
ленных в переменной среды PATH, в списке каталогов, предоставляемых сетью. Бо
лее подробно последовательность поиска в каталогах рассмотрена в документации
по функции OpenFile.

Если указанный звук не находится, функция PlaySound воспроизводит сис-
темный звук по умолчанию. Если функция не может найти и его, то воспроизведе-
ния не будет, а вернется значение false.

Если параметр pszSound задан равным 0, то воспроизведение любого волново-
го файла прерывается. Для прерывания воспроизведения звука, не связанного с
волновым файлом, надо указывать SND_PURGE в параметре fdwSound.

Параметр hmod используется только при параметре fdwSound равном
SND_RESOURCE. В этом случае hmod является дескриптором выполняемого фай-
ла, содержащего ресурс, который должен загружаться. В противном случае значе-
ние hmod задается равным 0.

Параметр fdwSound задает флаги воспроизведения звука. Флаги могут комби-
нироваться друг с другом операцией ИЛИ <i|». Возможны следующие значения
флагов:

SND_APPLICATION Звук воспроизводится с использованием установок при-
ложения

SND_ALIAS        Параметр pszSound определяет псевдоним системного со-
бытия в реестре Windows или в файле WIN.INI. Нельзя
использовать совместно с SND_FILENAME и
SND_RESOURCE

SND_ALIAS_ID     Параметр szSound является предопределенным иденти-
фикатором звука

SND_ASYNC        Звук воспроизводится асинхронно и функция PlaySound
возвращается немедленно после начала воспроизведения.
Чтобы прекратить асинхронное воспроизведение волно-
вого файла, надо вызвать PlaySound с параметром
pszSound, равным О

SND_FILENAME    Параметр pszSound является именем файла

SND_LOOP         Воспроизведение звука постоянно повторяется, пока не
вызовется PlaySound с параметром pszSound, равным 0.
Одновременно надо указать флаг SND_ASYNC асинхрон-
ного воспроизведения звука