Документация Python неофициальный перевод

34.4. winsound – интерфейс воспроизведения звука для Windowswinsound – Sound-playing interface for Windows


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

winsound.Beep(frequency, duration)

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

winsound.PlaySound(sound, flags)

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

winsound.MessageBeep(type=MB_OK)

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

winsound.SND_FILENAME

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

winsound.SND_ALIAS

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

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

PlaySound() название Соответствующее название звука в панели управления
'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.