Wie bekomme ich shell/ruby machen ein Geräusch (mein computer piept oder spielen Sie eine sound/track), wenn mein script bricht?
Bin ich mit einem Test-Skript, das läuft über eine website, über und über wieder, läuft Hunderte Male im Laufe von mehreren Stunden. Ich möchte mich für ruby, um zu beginnen zu spielen, ein lautes Lied/mp3 zum Beispiel, warnen Sie mich, während ich mich in einem anderen Teil meiner relativ kleinen Wohnung.
- Was ist Ihr OS oder Musik-player der Wahl?
- Auf MacOS:
afplay /System/Library/Sounds/Funk.aiff
. Mehr: superuser.com/questions/598783/play-sound-on-mac-terminal
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auch auf dem mac gibt es die
afplay
Programm, so wäre es möglich, etwas zu tun wie:Ich habe DIE Lösung gefunden für alle Mac OSX Nutzer. Credits zu diesem blog-post: http://www.mitchchn.me/2014/os-x-terminal/ für die zeigt es mir:
Mac-terminals haben einen Befehl namens
say
.say
Funktionen genau wie man hoffen könnte:nicht nur, dass aus dem terminal.
Innerhalb von einem ruby-Skript (in meinem Fall), dies ist einfach zu implementieren.
funktioniert wie ein Charme.
OK, würde ich lieber eine weibliche Stimme, die standardmäßig, aber dies ist groß.
Wechseln die Stimme, gehen Sie zu System Einstellungen - > Diktat und Spracherkennung > Text-to-Speech - > System-Stimme
Vicki ist wahrscheinlich die am besten klingende weibliche Stimme
edit: ach ja, ich wollte den computer machen Lärm, wenn es abgestürzt. Zu tun, dass in ruby:
say -v ?
zu sehen, eine Liste der voices. Geben Sie diese mit, z.B.say -v Fiona "Let's do this"
. Weitere Optionen mitman say
.Wenn Sie schauen, um zu spielen, etwas Musik, nachdem eine Ausnahme, nur wickeln Sie Ihre Aussage in einem
begin rescue
block und wenn Sie die Ausnahme abzufangen, führen Sie so etwas wie dies (unter *nix):oder wenn Sie auf windows:
Also es sollte so Aussehen wie
Für windows-Benutzer: verwenden Sie die Edelstein-win32-sound, kein mp3 support, aber .wav
Können Sie die Edelstein -
exception_alarm
Wiedergabe einer mp3-alarm-Datei, wenn eine Ausnahme ausgelöst wird, die auf Ihren Ruby-code.