数時間の間に何百回も実行される Web サイトで何度も実行されるテスト スクリプトを実行しています。たとえば、かなり小さなアパートの別の場所にいるときに警告するために、ruby が大音量の曲/mp3 の再生を開始するようにしたいと考えています。
6 に答える
すべての Mac OSX ユーザー向けのソリューションを見つけました。このブログ投稿のクレジット: http://www.mitchchn.me/2014/os-x-terminal/を見せてくれた:
Mac 端末には というコマンドがありsay
ます。say
期待どおりに機能します。
say "I'm done master"
ターミナルからそれを行います。
ruby スクリプトの内部 (私の場合) は、これを簡単に実装できます。
`say "I'm done master"`
魅力のように機能します。
OK、デフォルトで女性の声の方がいいのですが、これは素晴らしいです。
音声を切り替えるには、[システム環境設定] > [音声入力と音声認識] > [テキスト読み上げ] > [システム音声] に移動します。
ヴィッキーはおそらく最高の響きの女性の声です
編集:そうそう、コンピューターがクラッシュしたときに音を立ててほしかった. ルビーでそれを行うには:
def go(x)
begin# starts rescue block
puts "5/#{x} = #{5/x}"
rescue
`say "something is wrong, master."`
end
end
go(0)
#=> ...
例外の後に音楽を再生する場合は、ステートメントをbegin rescue
ブロックでラップし、例外をキャッチしたら、次のように実行します (*nix 上):
pid = fork{ exec 'mpg123','-q', file }
または、Windows を使用している場合:
require 'win32ole'
player = WIN32OLE.new('WMPlayer.OCX')
player.OpenPlayer(file)
だから、それは次のように見えるはずです
def methodThatFails
begin
# Your code here
rescue
pid = fork{ exec 'mpg123','-q', 'nevergonnagiveyouup.mp3' }
end
end
Windows ユーザーの場合: gem win32-sound を使用します。mp3 はサポートされませんが、.wav はサポートされます。
# gem install win32-sound
require 'win32/sound'
include Win32
Sound.play("SystemAsterisk", Sound::ALIAS) # play system asterisk sound
Sound.beep(600,200) # play a beep 600 hertz for 200 milliseconds
Sound.play("trompet.wav") # play a file from disk