winsound — Windows 的声音播放界面


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

  • winsound. Beep(频率持续时间)

    • 发出哔哔声。 * frequency *参数指定声音的频率(以赫兹为单位),并且必须在 37 到 32,767 之间。 * duration *参数指定声音应持续的毫秒数。如果系统无法发出蜂鸣声,则发出RuntimeError
  • winsound. PlaySound(声音标志)

    • 从平台 API 调用基础PlaySound()函数。 * sound 参数可以是文件名,系统声音别名,音频数据为bytes-like objectNone。它的解释取决于 flags 的值,该值可以是下面描述的常数的按位“或”组合。如果 sound *参数为None,则任何当前播放的波形声音都会停止。如果系统指示错误,则引发RuntimeError
  • winsound. MessageBeep(* type = MB_OK *)

    • 从 Platform API 调用基础MessageBeep()函数。播放注册表中指定的声音。 * type *参数指定要播放的声音;可能的值为-1MB_ICONASTERISKMB_ICONEXCLAMATIONMB_ICONHANDMB_ICONQUESTIONMB_OK,均在下面描述。值-1会产生“简单蜂鸣声”;如果无法播放声音,则这是finally的后备。如果系统指示错误,则引发RuntimeError
  • winsound. SND_FILENAME

      • sound *参数是 WAV 文件的名称。不要与SND_ALIAS一起使用。
  • winsound. SND_ALIAS

      • sound *参数是注册表中的声音关联名称。如果注册表中没有这样的名称,除非也指定了SND_NODEFAULT,否则请播放系统默认声音。如果未注册默认声音,请提高RuntimeError。请勿与SND_FILENAME一起使用。

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

PlaySound() 名称对应的控制面板声音名称
'SystemAsterisk'Asterisk
'SystemExclamation'Exclamation
'SystemExit'Exit Windows
'SystemHand'Critical Stop
'SystemQuestion'Question

For example:

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)

Note

此模块不支持从内存映像异步播放,因此此标志和SND_ASYNC的组合将引发RuntimeError

  • winsound. SND_PURGE
    • 停止播放指定声音的所有实例。

Note

现代 Windows 平台不支持此标志。

  • winsound. SND_ASYNC

    • 立即返回,允许声音异步播放。
  • winsound. SND_NODEFAULT

    • 如果找不到指定的声音,请不要播放系统默认声音。
  • winsound. SND_NOSTOP

    • 不要打断当前播放的声音。
  • winsound. SND_NOWAIT

    • 如果声音驱动器正忙,请立即返回。

Note

现代 Windows 平台不支持此标志。

  • winsound. MB_ICONASTERISK

    • 播放SystemDefault声音。
  • winsound. MB_ICONEXCLAMATION

    • 播放SystemExclamation声音。
  • winsound. MB_ICONHAND

    • 播放SystemHand声音。
  • winsound. MB_ICONQUESTION

    • 播放SystemQuestion声音。
  • winsound. MB_OK

    • 播放SystemDefault声音。