winsound — Звуковой интерфейс для Windows


Модуль winsound обеспечивает доступ к основным механизмам воспроизведения звука, предоставляемым платформами Windows. Он включает в себя функции и несколько констант.

winsound.Beep(frequency, duration)

Подает звуковой сигнал в динамик ПК. Параметр frequency определяет частоту звука в герцах и должен находиться в диапазоне от 37 до 32 767. Параметр duration указывает количество миллисекунд, в течение которых должен длиться звук. Если система не может подать звуковой сигнал в динамик, вызывается RuntimeError.

winsound.PlaySound(sound, flags)

Вызывает базовую функцию PlaySound() из API платформы. Параметр sound может быть именем файла, псевдонимом системного звука, аудиоданными в формате байтоподобного объекта или None. Его интерпретация зависит от значения flags, которое может быть побитовой комбинацией констант, описанных ниже. Если параметр sound равен None, любой воспроизводимый в данный момент звук волны останавливается. Если система указывает на ошибку, вызывается RuntimeError.

winsound.MessageBeep(type=MB_OK)

Вызов базовой функции MessageBeep() из API платформы. Воспроизводит звук, указанный в реестре. Аргумент type указывает, какой звук воспроизводить; возможные значения: -1, MB_ICONASTERISK, MB_ICONEXCLAMATION, MB_ICONHAND, MB_ICONQUESTION и MB_OK, все они описаны ниже. Значение -1 производит «простой звуковой сигнал»; это последний запасной вариант, если звук нельзя воспроизвести иначе. Если система указывает на ошибку, вызывается RuntimeError.

winsound.SND_FILENAME

Параметр sound — это имя WAV файла. Не используйте с SND_ALIAS.

winsound.SND_ALIAS

Параметр sound — это имя звуковой ассоциации из реестра. Если в реестре нет такого имени, воспроизведите системный звук по умолчанию, если также не указан SND_NODEFAULT. Если звук по умолчанию не зарегистрирован, вызывается RuntimeError. Не используйте с SND_FILENAME.

Все системы Win32 поддерживают как минимум следующее; большинство систем поддерживают гораздо больше:

PlaySound() name Соответствующее имя звука панели управления
'SystemAsterisk' Звездочка
'SystemExclamation' Восклицание
'SystemExit' Выход из Windows
'SystemHand' Критическая остановка
'SystemQuestion' Вопрос

Например:

import winsound
# Воспроизвести звук выхода из Windows.
winsound.PlaySound("SystemExit", winsound.SND_ALIAS)

# Вероятно, воспроизводится звук Windows по умолчанию, если он зарегистрирован (потому что
# "*" вероятно, это не зарегистрированное название какого-либо звука).
winsound.PlaySound("*", winsound.SND_ALIAS)
winsound.SND_LOOP

Воспроизведение звука повторно. Также необходимо использовать флаг SND_ASYNC, чтобы избежать блокировки. Нельзя использовать с SND_MEMORY.

winsound.SND_MEMORY

Параметр sound для PlaySound() представляет собой образ памяти файла WAV, как байтоподобный объект.

Примечание

Данный модуль не поддерживает асинхронное воспроизведение из образа памяти, поэтому комбинация этого флага и SND_ASYNC вызовет RuntimeError.

winsound.SND_PURGE

Останавливает воспроизведение всех экземпляров указанного звука.

Примечание

Данный флаг не поддерживается на современных Windows платформах.

winsound.SND_ASYNC

Возвращение немедленно, позволяя звукам воспроизводиться асинхронно.

winsound.SND_NODEFAULT

Если указанный звук не может быть найден, не воспроизводите системный звук по умолчанию.

winsound.SND_NOSTOP

Не прерывать воспроизводимые в данный момент звуки.

winsound.SND_NOWAIT

Немедленно вернуться, если звуковой драйвер занят.

Примечание

Данный флаг не поддерживается на современных платформах Windows.

winsound.MB_ICONASTERISK

Воспроизвести звук SystemDefault.

winsound.MB_ICONEXCLAMATION

Воспроизвести звук SystemExclamation.

winsound.MB_ICONHAND

Воспроизвести звук SystemHand.

winsound.MB_ICONQUESTION

Воспроизвести звук SystemQuestion.

winsound.MB_OK

Воспроизвести звук SystemDefault.