34.4. winsound – Интерфейс для воспроизведения звука в Windows¶winsound – 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выдаёт «простой сигнал»; это последняя резервная возможность, если звук иначе воспроизвести не удаётся. Если система сообщает об ошибке, возбуждаетсяRuntimeError.
-
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.