2008-08-17 14 views
43

私はビープ音を出すことでタスクを完了したときにPythonプログラムに警告したいと思います。現在、import osを使用し、コマンドラインの音声プログラムを使用して「処理が完了しました」と言います。私はずっとむしろシンプルな "鐘"です。Python Sound( "Bell")

私は、ココアのアプリケーションNSBeepで使用できる機能があることを知っていますが、これには何の関係もないと思います。

私もprint(\a)を試しましたが、うまくいきませんでした。

私はあなたのココアのコメントでは分からない場合は、Macを使用しているので、役立つことがあります。

ありがとうございます!

+6

'輸入OSであるように思わコマンドラインlocate /System/Library/Sounds/*.aiff 経由で見つけることができます; os.system( 'ビールタイム'と言う); print( '\ a \ a \ a') ' –

答えて

61

あなたが試してみました:

import sys 
sys.stdout.write('\a') 
sys.stdout.flush() 
Mac OSでここに私の作品

10.5

を実際に、私はあなたの元の試みはほとんど変更してもうまくいくと思う:

print('\a') 

(文字シーケンスの周りに一重引用符が必要です)。

+4

私はubuntu上にいる、それは私のために動作しません。何か案が? – kecske

+11

@kecske一般的な[可聴ベルを無効にする](http://www.cyberciti.biz/faq/how-to-linux-disable-or-turn-off-beep-sound-for-terminal/)in – dbr

+0

Windows XPでも同様に(コンソールアプリケーション内で)動作します。これは、動作しますが、ノイズは発生しません。 – martineau

5

print('\a')が動作するには、iTermのアクティブなターミナルプロファイルで "Silence terminal bell"オプションをオフにする必要がありました。ターミナルではデフォルトでうまく動作していたようです。

また、システムのビープ音を再生するためにMACモジュールCarbon.Sndを使用することができます。

>>> import Carbon.Snd 
>>> Carbon.Snd.SysBeep(1) 
>>> 

カーボン・モジュールは、任意のドキュメントを持っていないので、私は機能が利用できたかを確認するhelp(Carbon.Snd)を使用する必要がありました。それはCarbon上の直接のインターフェースなので、Apple Developer Connectionのドキュメントが役に立ちます。

10

あなたはPyObjCしている場合(パイソン - Objective-Cのブリッジ)をインストールまたはOS X 10.5のシステムのpythonで実行されている(PyObjCに付属)を、あなたはシステムを再生するために

from AppKit import NSBeep 
NSBeep() 

を行うことができます警戒。

6

私はパイゲームモジュールからミキサーを試しましたが、うまくいきます。最初のモジュールをインストールします。

$ sudo apt-get install python-pygame 

が続いてプログラムで、この書き込み:pygameので

from pygame import mixer 
mixer.init() #you must initialize the mixer 
alert=mixer.Sound('bell.wav') 
alert.play() 

をあなたが追加して試してカスタマイズオプションの多くを持っています。

1

バリーワークの答えに... 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() 

標準のサウンドファイルはNSBeep()で使用されるファイルが'/System/Library/Sounds/Funk.aiff'

関連する問題