winsound
--- Windows 的音效播放介面¶winsound
模組提供存取 Windows 平台所提供的基本音效播放機制。它包含數個函式與常數。
讓電腦的喇叭發出嗶聲。frequency 參數指定音效的頻率(以赫茲為單位),範圍必須介於 37 到 32,767 之間。duration 參數指定音效持續的時間(以毫秒為單位)。若系統無法讓喇叭發出嗶聲,則會引發 RuntimeError
。
呼叫平台 API 中底層的 PlaySound()
函式。sound 參數可以是檔案名稱、系統音效別名、作為 bytes-like object 的音訊資料,或 None
。其直譯方式取決於 flags 的值,該值可以是以下所述常數的位元 OR 組合。若 sound 為 None
,則會停止任何正在播放的波形音效。若系統回報錯誤,則會引發 RuntimeError
。
呼叫平台 API 中底層的 MessageBeep()
函式。此函式會播放登錄檔中指定的音效。type 引數指定要播放的音效類型,可接受的值包括 -1
、MB_ICONASTERISK
、MB_ICONEXCLAMATION
、MB_ICONHAND
、MB_ICONQUESTION
與 MB_OK
,這些皆會在下文中說明。數值 -1
會產生「簡單嗶聲」,當無法播放其他音效時即作為最終退路。若系統回報錯誤,則會引發 RuntimeError
。
sound 參數為登錄檔中的音效關聯名稱。若登錄檔中找不到此名稱,則會播放系統預設音效,除非同時指定了 SND_NODEFAULT
。若沒有註冊預設音效,則會引發 RuntimeError
。請勿與 SND_FILENAME
同時使用。
所有 Win32 系統至少支援以下項目;大多數系統支援更多:
|
對應的控制台音效名稱 |
---|---|
|
星號 |
|
驚嘆號 |
|
離開 Windows |
|
關鍵性停止 |
|
問題 |
例如說:
import winsound
# 播放 Windows 的離開音效。
winsound.PlaySound("SystemExit", winsound.SND_ALIAS)
# 若有註冊預設音效,可能會播放該音效
# (因為 "*" 可能不是任何音效的註冊名稱)。
winsound.PlaySound("*", winsound.SND_ALIAS)
重複播放音效。必須同時使用 SND_ASYNC
旗標以避免阻塞。不能與 SND_MEMORY
一同使用。
傳入 PlaySound()
的 sound 參數是 WAV 檔案的記憶體映像,型別為 bytes-like object。
備註
此模組不支援從記憶體映像非同步播放音效,因此若同時使用本旗標與 SND_ASYNC
,將引發 RuntimeError
。
停止播放指定音效的所有實例。
備註
此旗標在現代 Windows 平台上不支援。
立即回傳,使音效可非同步播放。
若找不到指定的音效,則不播放系統預設音效。
不中斷目前正在播放的音效。
若音效驅動程式正在忙碌,則立即回傳此。
備註
此旗標在現代 Windows 平台上不支援。
播放 SystemDefault
音效。
播放 SystemExclamation
音效。
播放 SystemHand
音效。
播放 SystemQuestion
音效。
播放 SystemDefault
音效。