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_FILENAMEsound 引數是 WAV 檔案的名稱。
SND_LOOP重複播放聲音。
SND_MEMORYPlaySound() 的 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 聲音。

更新於: 2020年6月30日

3K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告