我想通過發出嘟嘟聲來讓Python程序在完成任務時發出警報。目前,我使用import os
,然後使用命令行語音程序說「過程完成」。我寧願它是一個簡單的「鍾」。Python聲音(「貝爾」)
我知道有一個函數可以在可可應用程序NSBeep中使用,但我認爲這與此無關。
我也試過print(\a)
但是沒有奏效。
我使用的是蘋果機,如果你不能通過我的可可評論告訴,那可能會有所幫助。
謝謝!
我想通過發出嘟嘟聲來讓Python程序在完成任務時發出警報。目前,我使用import os
,然後使用命令行語音程序說「過程完成」。我寧願它是一個簡單的「鍾」。Python聲音(「貝爾」)
我知道有一個函數可以在可可應用程序NSBeep中使用,但我認爲這與此無關。
我也試過print(\a)
但是沒有奏效。
我使用的是蘋果機,如果你不能通過我的可可評論告訴,那可能會有所幫助。
謝謝!
你試過:
import sys
sys.stdout.write('\a')
sys.stdout.flush()
那我在這裏10.5
其實在Mac OS,我覺得你原來的嘗試的作品還帶有少許的修改:
print('\a')
(你只需要在字符序列周圍使用單引號)。
我在Ubuntu上,它不適合我。任何想法? – kecske 2011-11-26 23:39:33
我不得不在我的活動終端配置文件iTerm中關閉「沉默終端鍾」選項print('\a')
才能正常工作。它在終端默認情況下工作正常。
您也可以使用Mac模塊Carbon.Snd
播放系統提示音:
>>> import Carbon.Snd
>>> Carbon.Snd.SysBeep(1)
>>>
的碳模塊沒有任何文件,所以我只好用help(Carbon.Snd)
,看看哪些功能可用。它似乎是Carbon上的直接接口,因此Apple Developer Connection上的文檔可能會有所幫助。
如果你有PyObjC(Python的 - Objective-C的橋)安裝或OS上運行X 10.5的系統蟒蛇(其中附帶PyObjC),你可以做
from AppKit import NSBeep
NSBeep()
播放系統警報。
我嘗試了pygame模塊的混音器,它工作正常。首先安裝模塊:
$ sudo apt-get install python-pygame
然後在程序中這樣寫:
from pygame import mixer
mixer.init() #you must initialize the mixer
alert=mixer.Sound('bell.wav')
alert.play()
有了pygame中你有很多的自定義選項,您可以另外進行實驗。
建立在Barry Wark的答案... NSBeep()
從AppKit工作正常,但也使任務欄中的終端/應用圖標跳轉。 一些額外的線條與NSSound()
避免了,並給出使用另一種聲音的機會:
from AppKit import NSSound
#prepare sound:
sound = NSSound.alloc()
sound.initWithContentsOfFile_byReference_('/System/Library/Sounds/Ping.aiff', True)
#rewind and play whenever you need it:
sound.stop() #rewind
sound.play()
標準的聲音文件可以通過命令行locate /System/Library/Sounds/*.aiff
找到 通過NSBeep()
使用的文件似乎是'/System/Library/Sounds/Funk.aiff'
`進口OS ; os.system('say「Beer time。'');打印('\ a \ a \ a')` – 2015-08-27 22:41:47