winsound
— Windows 声音播放接口¶
winsound
模块提供了访问 Windows 平台提供的基本声音播放机制的功能。它包含函数和一些常量。
- winsound.Beep(frequency, duration)¶
使 PC 扬声器发出蜂鸣声。frequency 参数指定声音的频率(赫兹),必须在 37 到 32,767 的范围内。duration 参数指定声音持续的毫秒数。如果系统无法使扬声器发出蜂鸣声,则会引发
RuntimeError
。
- winsound.PlaySound(sound, flags)¶
调用平台 API 中底层的
PlaySound()
函数。sound 参数可以是文件名、系统声音别名、以类字节对象表示的音频数据,或None
。它的解释取决于 flags 的值,flags 可以是以下描述的常量按位或运算的组合。如果 sound 参数是None
,则停止当前播放的任何波形声音。如果系统指示错误,则会引发RuntimeError
。
- winsound.MessageBeep(type=MB_OK)¶
调用平台 API 中底层的
MessageBeep()
函数。这会播放注册表中指定的声音。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()
name对应的控制面板声音名称
'SystemAsterisk'
星号
'SystemExclamation'
感叹号
'SystemExit'
退出 Windows
'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.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 版本加入。