Python 中用於 Windows 的聲音播放介面 (winsound)
winsound 模組特定於在 Windows 作業系統上安裝的 Python。該模組定義了以下函式:
Beep()
呼叫此函式時,會從 PC 的揚聲器發出一聲蜂鳴聲。該函式需要兩個引數。frequency 引數指定聲音的頻率,必須在 37 到 32,767 赫茲之間。duration 引數指定聲音的持續時間(以毫秒為單位)。
>>> import winsound >>> winsound.Beep(1000,500)
MessageBeep()
此函式播放登錄檔中指定的聲音。type 引數指定要播放的聲音。可能的值為:
-1、MB_ICONASTERISK、MB_ICONEXCLAMATION、MB_ICONHAND、MB_ICONQUESTION 和 MB_OK(預設值)。
值 -1 會產生“簡單的蜂鳴聲”。
>>> winsound.MessageBeep()
PlaySound()
此函式呼叫來自平臺 API 的底層 PlaySound() 函式。該函式需要兩個引數。sound 引數可以是檔名、系統聲音別名或作為類似位元組的物件的音訊資料。它的解釋取決於 flags 的值。標誌定義如下:
SND_FILENAME | sound 引數是 WAV 檔案的名稱。 |
SND_LOOP | 重複播放聲音。 |
SND_MEMORY | PlaySound() 的 sound 引數是 WAV 檔案的記憶體映像,作為類似位元組的物件。 |
SND_ASYNC | 立即返回,允許聲音非同步播放。 |
SND_NODEFAULT | 如果找不到指定的聲音,則不播放系統預設聲音。 |
SND_NOSTOP | 不要中斷當前正在播放的聲音。 |
以下語句播放給定的 WAV 檔案。
>>> winsound.PlaySound('sample.wav', winsound.SND_FILENAME|winsound.SND_NOWAIT)
SND_ALIAS
Windows 登錄檔項與聲音名稱相關聯。如果登錄檔中沒有此類名稱,則播放系統預設聲音,除非設定了 SND_NODEFAULT。所有 Win32 系統都支援以下內容:
PlaySound() 名稱 | 相應的控制面板聲音名稱 |
---|---|
'SystemAsterisk' | 星號 |
'SystemExclamation' | 感嘆號 |
SystemExit' | 退出 Windows |
'SystemHand' | 嚴重錯誤 |
SystemQuestion' | 問號 |
例如,以下語句播放 Windows 退出聲音。
>>> winsound.PlaySound("SystemExit", winsound.SND_ALIAS)
winsound 模組還定義了以下聲音:
MB_ICONASTERISK | 播放 SystemDefault 聲音。 |
MB_ICONEXCLAMATION | 播放 SystemExclamation 聲音。 |
MB_ICONHAND | 播放 SystemHand 聲音。 |
MB_ICONQUESTION | 播放 SystemQuestion 聲音。 |
MB_OK | 播放 SystemDefault 聲音。 |
廣告