winsound — Windows 的声音播放界面 — Python 文档

来自菜鸟教程
Python/docs/3.9/library/winsound
跳转至:导航、​搜索

winsound — Windows 的声音播放界面


winsound 模块提供对 Windows 平台提供的基本声音播放机制的访问。 它包括函数和几个常量。

winsound.Beep(frequency, duration)
使 PC 的扬声器发出哔哔声。 frequency 参数指定声音的频率(以赫兹为单位),并且必须在 37 到 32,767 的范围内。 duration 参数指定声音应该持续的毫秒数。 如果系统无法使扬声器发出哔哔声,则会引发 RuntimeError
winsound.PlaySound(sound, flags)
从平台 API 调用底层 PlaySound() 函数。 sound 参数可以是文件名、系统声音别名、作为 bytes-like objectNone 的音频数据。 它的解释取决于 flags 的值,它可以是下面描述的常量的按位或组合。 如果 sound 参数为 None,则停止任何当前播放的波形声音。 如果系统指示错误,则会引发 RuntimeError
winsound.MessageBeep(type=MB_OK)
从平台 API 调用底层 MessageBeep() 函数。 这会播放注册表中指定的声音。 type 参数指定要播放的声音; 可能的值是 -1MB_ICONASTERISKMB_ICONEXCLAMATIONMB_ICONHANDMB_ICONQUESTIONMB_OK,所有描述如下。 值 -1 产生“简单的哔哔声”; 如果声音不能以其他方式播放,这是最后的回退。 如果系统指示错误,则会引发 RuntimeError
winsound.SND_FILENAME
sound 参数是 WAV 文件的名称。 不要与 SND_ALIAS 一起使用。
winsound.SND_ALIAS

sound 参数是注册表中的声音关联名称。 如果注册表不包含这样的名称,除非还指定了 SND_NODEFAULT,则播放系统默认声音。 如果没有注册默认声音,则引发 RuntimeError。 不要与 SND_FILENAME 一起使用。

所有 Win32 系统至少支持以下内容; 大多数系统支持更多:

PlaySound() 姓名

对应的控制面板声音名称

'SystemAsterisk'

星号

'SystemExclamation'

感叹

'SystemExit'

退出窗口

'SystemHand'

关键停止

'SystemQuestion'

问题

例如:

import winsound
# Play Windows exit sound.
winsound.PlaySound("SystemExit", winsound.SND_ALIAS)

# Probably play Windows default sound, if any is registered (because
# "*" probably isn't the registered name of any sound).
winsound.PlaySound("*", winsound.SND_ALIAS)
winsound.SND_LOOP
反复播放声音。 SND_ASYNC 标志也必须用于避免阻塞。 不能与 SND_MEMORY 一起使用。
winsound.SND_MEMORY

PlaySound()sound 参数是 WAV 文件的内存映像,作为 bytes-like object

笔记

此模块不支持从内存映像异步播放,因此此标志和 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 声音。