34.4. winsound
— Windows的声音播放界面¶
winsound
模块提供对由Windows平台提供的基本声音播放机器的访问。它包括函数和几个常量。
-
winsound.
Beep
(frequency, duration)¶ 蜂鸣电脑的扬声器。 frequency 参数指定声音的频率(以赫兹为单位),并且必须在37到32,767的范围内。 duration 参数指定声音应持续的毫秒数。如果系统无法在扬声器上发出哔声,则
RuntimeError
升起。
-
winsound.
PlaySound
(sound, flags)¶ 从Platform API调用底层
PlaySound()
函数。 sound 参数可以是文件名,系统声音别名,作为 bytes-like object 的音频数据或None
。其解释取决于 flags 的值,其可以是下面描述的常数的按位或的组合。如果 sound 参数是None
,则停止任何当前正在播放的波形声音。如果系统指示错误,则提高RuntimeError
。
-
winsound.
MessageBeep
(type=MB_OK)¶ 从Platform 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文件的存储器映像,作为 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
声音。