讀古今文學網 > Python實戰-從菜鳥到大牛的進階之路 > 3 python 寫報警程序中的聲音實現 winsound >

3 python 寫報警程序中的聲音實現 winsound

寫 windowns 下的報警程序,有一個報警聲音的實現,在 python 中有個 winsound 模塊可以來實現,方法也很簡單:

import timeimport winsounddef play_music:    winsound.PlaySound('alert', winsound.SND_ASYNC)    time.sleep(3)   >import winsound   PlaySound(sound, flags)  

sound 是聲音文件名字,該文件為 wav 格式的。flags 為其播放的一些參數,如:

SND_LOOP
重複地播放聲音。SND_ASYNC標識也必須被用來避免堵塞。不能用 SND_MEMORY。

SND_MEMORY
提供給 PlaySound 的 sound 參數是一個 WAV 文件的內存映像(memory image),作為一個字符串。注意:這個模塊不支持從內存映像中異步播放,因此這個標識和 SND_ASYNC 的組合將掛起 RuntimeError。

SND_PURGE
停止播放所有指定聲音的實例。

SND_ASYNC
立即返回,允許聲音異步播放。

SND_NODEFAULT
不過指定的聲音沒有找到,不播放系統缺省的聲音。

SND_NOSTOP
不中斷當前播放的聲音。

SND_NOWAIT
如果聲音驅動忙立即返回。

MB_ICONASTERISK
播放 SystemDefault 聲音。

MB_ICONEXCLAMATION
播放 SystemExclamation 聲音。

MB_ICONHAND
播放 SystemHand 聲音。

MB_ICONQUESTION
播放 SystemQuestion 聲音。

MB_OK
播放 SystemDefault 聲音。

python 蜂鳴,通過 python 讓電腦發聲:

import winsound
winsound.Beep(37, 2000)

37 是頻率(Hz), 2000 是蜂鳴持續多少毫秒(ms).
第一個參數 frequency 表示分貝數,大小在 37 到 32767 之間。第二個參數是持續時間,以毫秒為單位