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 引數指定要播放的聲音;可能的值包括-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 檔案的記憶體映像,表示為類位元組物件。備註
此模組不支援非同步從記憶體映像播放,因此此標誌與
SND_ASYNC
的組合將引發RuntimeError
。
- winsound.SND_PURGE¶
停止播放指定聲音的所有例項。
備註
現代 Windows 平臺不支援此標誌。
- winsound.SND_ASYNC¶
立即返回,允許聲音非同步播放。
- winsound.SND_NODEFAULT¶
如果找不到指定的聲音,不播放系統預設聲音。
- winsound.SND_NOSTOP¶
不中斷當前正在播放的聲音。
- winsound.SND_NOWAIT¶
如果聲音驅動程式繁忙,則立即返回。
備註
現代 Windows 平臺不支援此標誌。
- 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 版本加入。