1.5.2 版新增。
The winsound 模块提供对由 Windows 平台提供的基本声音播放机制的访问。它包括一些函数和几个常量。
哔哔 PC 扬声器。 frequency 参数指定声音的频率 (以赫兹为单位),且必须在 37 到 32,767 范围内。 duration 参数指定声音应该持续的毫秒数。若系统无法蜂鸣扬声器, RuntimeError 被引发。
New in version 1.6.
调用底层 PlaySound() 函数从平台 API。 sound parameter may be a filename, audio data as a string, or None 。其解释从属值对于 flags ,其可以是下文描述常量的按位 OR (或) 组合。若 sound 参数为 None ,停止目前播放的任何波形声音。若系统指示出错, RuntimeError 被引发。
调用底层 MessageBeep() 函数从平台 API。这播放如注册表中的指定声音。 type 自变量指定要播放的声音;可能的值包括 -1 , MB_ICONASTERISK , MB_ICONEXCLAMATION , MB_ICONHAND , MB_ICONQUESTION ,和 MB_OK ,所有的描述见下文。值 -1 produces a “simple beep”; this is the final fallback if a sound cannot be played otherwise.
2.3 版新增。
The 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)
重复播放声音。 SND_ASYNC 标志还必须被使用以避免阻塞。无法使用同 SND_MEMORY .
The sound 参数用于 PlaySound() is a memory image of a WAV file, as a string.
注意
此模块不支持从内存映像异步播放,因此组合此标志和 SND_ASYNC 会引发 RuntimeError .
停止播放指定声音的所有实例。
注意
现代 Windows 平台不支持此标志。
立即返回,允许异步播放声音。
若找不到指定声音,不播放系统默认声音。
不中断目前播放的声音。
立即返回,若声音驱动程序繁忙。
注意
现代 Windows 平台不支持此标志。
播放 SystemDefault 声音。
播放 SystemExclamation 声音。
播放 SystemHand 声音。
播放 SystemQuestion 声音。
播放 SystemDefault 声音。