2011-01-03 21 views
3

終了時にビープ音が鳴るようにアプリケーションを設定しました。それは簡単だったWindows上で :終了時にビープ音を鳴らすようにEclipseを設定する(Python、Linux)

def beep_please(): 
    """Beep on Windows""" 
    if os.name == 'nt': 
     import winsound #@UnresolvedImport 
     winsound.MessageBeep(winsound.MB_ICONEXCLAMATION) 

import atexit 
atexit.register(beep_please) 

問題は、私は最近のLinuxに切り替えると、単純なビープ音が動作しないです。 印刷'\a'が印刷されません。 ヘルプ?

+0

関連:http://stackoverflow.com/q/974071/4279 – jfs

+0

この質問に対する答えを見てください:http://stackoverflow.com/questions/6445425/can-eclipse-notify-me-when-a-task-has-finished-running Eclipseプラグインのソースコードを提供しています。ジョブが完了するとビープ音が鳴ります。 –

答えて

0

print '\a'の根本原因は、最新のLinuxディストリビューションは、迷惑なデフォルトの「ビープ音」をオフにすることです。
解決策は、pygameを使用しているか、インストールされている「プレーヤー」の1つを直接使用しています。ある

import pygame 

pygame.init() 
pygame.mixer.music.load("my_sound_file.ogg") 
pygame.mixer.music.play() 
pygame.event.wait() 

しかし、私は私がやってしまったので、何を、非実行時のユーティリティのための新しい外部依存関係を望んでいませんでした:pygameのを使用して

は、次のようになります

import os 
os.system("/usr/bin/canberra-gtk-play --id='system-ready'") 

他のサウンドファイルの多くは、Ubuntuのテーマであります

ls /usr/share/sounds/ubuntu/stereo 
0

てみやっsys.stdout.write('\007')代わり

+0

私は0007で長方形の正方形を取得します... Eclipse 3.6.1とUbuntu 10.10。 –

+0

えーと、おそらくstdoutはttyを指していません。 'open( '/ dev/pty0'、 'w')。write( '\ 007')'を試してください。しかし、これはあなたが/ dev/pty0を開いていると仮定しているので堅牢ではありません。私はそれをもっと良くする方法を知らない...おそらく/ dev/tty0? – albertov

+0

IOError: '[Errno 13]アクセス権が拒否されました: '/ dev/tty0'' –

関連する問題