2017-02-17 11 views
1

私はMac OSのシェルでゲームのアニメーションを作っています。私は音楽を演奏したいと思います。したがって、私は、Mac OSのafplay機能を利用しようとしています。この機能は、mp3ファイルなどのサウンドファイルをシェルから直接再生します。これは私のコードの例です:Macでafplayを実行しても、残りのスクリプトを実行できますか?

afplay ~/music.mp3 
echo "THE YEAR IS 2020" 
clear 
echo 
echo "THE YEAR IS 2020" 
clear 
echo 
echo 
echo "THE YEAR IS 2020" 
clear 

しかし、afplay ~/music.mp3ラインでは、それだけで空白の画面で座っています。サウンドを再生し、残りのスクリプトを同時に実行する方法はありますか?

答えて

0

最後に&(アンパサンド)というタグを付けて、コマンドをバックグラウンドで実行することができます。 afplayの場合、スクリーンに印刷された情報もあります。ヘルプファイルは、これをどのように無効にするかを示していないので、ハッキングの解決策は単に/ dev/nullをリダイレクトするだけです。

afplay ~/music.mp3 &>/dev/null & 
echo "THE YEAR IS 2020" 

echo "THE YEAR IS 2020" 

echo "THE YEAR IS 2020" 

ああ、音楽の音を止めるには、kill $!を実行してください。 $!は特別な変数であり、最新のバックグラウンドプロセスのPIDを含みます。

+0

プロセスを強制終了する別の方法はありますか? – keeganjk

+0

「ターミナル停止」シグナル 'kill -TSTP $!'を送信することにより、より静かに停止することができます。これはCtrl-Zを押してフォアグラウンドプロセスを停止させるのと同じことです。これを行うと、 'kill -CONT $! 'を実行してプロセスを再開できます。 – AkselA

関連する問題