> **Источник:** https://python-all.ru/3.16/library/winsound.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# `winsound` – интерфейс воспроизведения звука для Windows

**Исходный код:** [PC/winsound.c](https://python-all.ru/src/main/PC/winsound.c)

---

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

[Доступность](https://python-all.ru/3.16/library/intro.html#availability): Windows.

## Функции

#### `winsound.Beep(frequency, duration)`

Воспроизводит звуковой сигнал через динамик ПК. Параметр *frequency* задаёт частоту звука в герцах и должен быть в диапазоне от 37 до 32 767. Параметр *duration* задаёт продолжительность звука в миллисекундах. Если системе не удаётся воспроизвести сигнал, возбуждается [`RuntimeError`](https://python-all.ru/3.16/library/exceptions.html#RuntimeError).

#### `winsound.PlaySound(sound, flags)`

Вызывает базовую функцию `PlaySound()` из Platform API. Параметр *sound* может быть именем файла, системным псевдонимом звука, аудиоданными в виде [байтоподобного объекта](https://python-all.ru/3.16/glossary.html#term-bytes-like-object) или `None`. Его интерпретация зависит от значения *flags*, которое может быть побитовой комбинацией констант, описанных ниже. Если параметр *sound* равен `None`, любой воспроизводимый в данный момент звук останавливается. Если система сообщает об ошибке, возбуждается [`RuntimeError`](https://python-all.ru/3.16/library/exceptions.html#RuntimeError).

#### `winsound.MessageBeep(type=MB_OK)`

Вызывает базовую функцию `MessageBeep()` из Platform API. Она воспроизводит звук, указанный в реестре. Аргумент *type* определяет, какой звук воспроизводить; возможные значения: `-1`, `MB_ICONASTERISK`, `MB_ICONEXCLAMATION`, `MB_ICONHAND`, `MB_ICONQUESTION` и `MB_OK` – все они описаны ниже. Значение `-1` выдаёт «простой сигнал»; это последняя резервная возможность, если звук иначе воспроизвести не удаётся. Если система сообщает об ошибке, возбуждается [`RuntimeError`](https://python-all.ru/3.16/library/exceptions.html#RuntimeError).

## Константы

#### `winsound.SND_FILENAME`

Параметр *sound* – это имя WAV-файла. Не используйте вместе с [`SND_ALIAS`](https://python-all.ru/3.16/library/winsound.html#winsound.SND_ALIAS).

#### `winsound.SND_ALIAS`

Параметр *sound* – это имя звуковой ассоциации из реестра. Если в реестре нет такого имени, воспроизводится системный звук по умолчанию, если только не указан [`SND_NODEFAULT`](https://python-all.ru/3.16/library/winsound.html#winsound.SND_NODEFAULT). Если звук по умолчанию не зарегистрирован, возбуждается [`RuntimeError`](https://python-all.ru/3.16/library/exceptions.html#RuntimeError). Не используйте вместе с [`SND_FILENAME`](https://python-all.ru/3.16/library/winsound.html#winsound.SND_FILENAME).

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

| [`PlaySound()`](https://python-all.ru/3.16/library/winsound.html#winsound.PlaySound) *название* | Соответствующее название звука в панели управления |
| --- | --- |
| `'SystemAsterisk'` | Звёздочка |
| `'SystemExclamation'` | Восклицание |
| `'SystemExit'` | Выход из Windows |
| `'SystemHand'` | Критическая остановка |
| `'SystemQuestion'` | Вопрос |

Например:

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

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

#### `winsound.SND_LOOP`

Воспроизводит звук повторно. Также необходимо использовать флаг [`SND_ASYNC`](https://python-all.ru/3.16/library/winsound.html#winsound.SND_ASYNC), чтобы избежать блокировки. Нельзя использовать с [`SND_MEMORY`](https://python-all.ru/3.16/library/winsound.html#winsound.SND_MEMORY).

#### `winsound.SND_MEMORY`

Параметр *sound* для [`PlaySound()`](https://python-all.ru/3.16/library/winsound.html#winsound.PlaySound) – это образ WAV-файла в памяти в виде [байтоподобного объекта](https://python-all.ru/3.16/glossary.html#term-bytes-like-object).

> **Примечание**
>
> Этот модуль не поддерживает асинхронное воспроизведение из образа в памяти, поэтому комбинация этого флага и [`SND_ASYNC`](https://python-all.ru/3.16/library/winsound.html#winsound.SND_ASYNC) вызовет [`RuntimeError`](https://python-all.ru/3.16/library/exceptions.html#RuntimeError).

#### `winsound.SND_PURGE`

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

> **Примечание**
>
> Этот флаг не поддерживается на современных платформах Windows.

#### `winsound.SND_ASYNC`

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

#### `winsound.SND_NODEFAULT`

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

#### `winsound.SND_NOSTOP`

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

#### `winsound.SND_NOWAIT`

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

> **Примечание**
>
> Этот флаг не поддерживается на современных платформах Windows.

#### `winsound.SND_APPLICATION`

Параметр *sound* – это псевдоним, специфичный для приложения в реестре. Этот флаг можно комбинировать с флагом [`SND_ALIAS`](https://python-all.ru/3.16/library/winsound.html#winsound.SND_ALIAS) для указания псевдонима звука, определённого приложением.

#### `winsound.SND_SENTRY`

Вызывает событие SoundSentry при воспроизведении звука.

Добавлено в версии 3.14.

#### `winsound.SND_SYNC`

Звук воспроизводится синхронно. Это поведение по умолчанию.

Добавлено в версии 3.14.

#### `winsound.SND_SYSTEM`

Назначает звук аудиосессии для системных звуков уведомлений.

Добавлено в версии 3.14.

#### `winsound.MB_ICONASTERISK`

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

#### `winsound.MB_ICONEXCLAMATION`

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

#### `winsound.MB_ICONHAND`

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

#### `winsound.MB_ICONQUESTION`

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

#### `winsound.MB_OK`

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

#### `winsound.MB_ICONERROR`

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

Добавлено в версии 3.14.

#### `winsound.MB_ICONINFORMATION`

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

Добавлено в версии 3.14.

#### `winsound.MB_ICONSTOP`

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

Добавлено в версии 3.14.

#### `winsound.MB_ICONWARNING`

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

Добавлено в версии 3.14.
