35.4. winsound — Windows 的声音播放界面 — Python 文档
35.4. 赢音 — Windows 的声音播放界面
1.5.2 版中的新功能。
winsound 模块提供对 Windows 平台提供的基本声音播放机制的访问。 它包括函数和几个常量。
- winsound.Beep(frequency, duration)
使 PC 的扬声器发出哔哔声。 frequency 参数指定声音的频率(以赫兹为单位),并且必须在 37 到 32,767 的范围内。 duration 参数指定声音应该持续的毫秒数。 如果系统无法使扬声器发出哔哔声,
RuntimeError
会升高。1.6 版中的新功能。
- winsound.PlaySound(sound, flags)
- 从平台 API 调用底层
PlaySound()
函数。 sound 参数可以是文件名、作为字符串的音频数据或None
。 它的解释取决于 flags 的值,它可以是下面描述的常量的按位或组合。 如果 sound 参数为None
,则停止任何当前播放的波形声音。 如果系统指示错误,则会引发RuntimeError
。
- winsound.MessageBeep([type=MB_OK])
从平台 API 调用底层
MessageBeep()
函数。 这会播放注册表中指定的声音。 type 参数指定要播放的声音; 可能的值是-1
、MB_ICONASTERISK
、MB_ICONEXCLAMATION
、MB_ICONHAND
、MB_ICONQUESTION
和MB_OK
,所有描述如下。 值-1
产生“简单的哔哔声”; 如果声音不能以其他方式播放,这是最后的回退。2.3 版中的新功能。
- 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 文件的内存映像,作为字符串。
笔记
此模块不支持从内存映像异步播放,因此此标志和 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
声音。