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 引數指定要播放的聲音;可能的值包括 -1MB_ICONASTERISKMB_ICONEXCLAMATIONMB_ICONHANDMB_ICONQUESTIONMB_OK,所有這些都在下面描述。值 -1 會產生“簡單的蜂鳴聲”;如果無法以其他方式播放聲音,這是最終的備用選項。如果系統指示錯誤,則會引發 RuntimeError

winsound.SND_FILENAME

sound 引數是 WAV 檔案的名稱。不要與 SND_ALIAS 一起使用。

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_APPLICATION

sound 引數是登錄檔中的應用程式特定別名。此標誌可以與 SND_ALIAS 標誌結合使用,以指定應用程式定義的聲音別名。

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 版本加入。