さて、私はゲームを作っていて、あなたが別の地域にいたり、AI のように中断したりすると、音楽が変わります。
だから私は自分のプログラムで音楽を表示する方法を学んだばかりで、今はそれを止めようとしていますが、方法がわかりません。以下は音楽が再生されるコードのスニペットです。アクションが発生したときの音楽。
public static void songs(String word) {
String temp = word;
if (temp.equals("start")) {
try {
try {
blah = new FileInputStream("C:/Users/Austin/Desktop/Storage/programimages/game/battle.wav");
} catch (Throwable e) {
e.printStackTrace();
}
AudioStream as = new AudioStream(blah);
AudioPlayer.player.start(as);
System.out.println("going");
} catch (IOException e) {
System.err.println(e);
}
}
if (temp.equals("stop")) {
try {
try {
blah = new FileInputStream("C:/Users/Austin/Desktop/Storage/programimages/game/silence.wav");
} catch (Throwable e) {
e.printStackTrace();
}
AudioStream as = new AudioStream(blah);
AudioPlayer.player.stop(as);
System.out.println("stopping");
} catch (IOException e) {
System.err.println(e);
}
}
}
これは私が見つけることができた唯一の音楽再生方法ですが、他に提案があれば教えてください。
繰り返しになりますが、私は効果音と音楽を動かしたいと思っています。今、起こっているのは 1 つの曲が再生され、その長さが最後に到達するまで、どのような状況でも停止しません。新しい曲が始まるたびに曲を停止できるようにしたいし、サウンドエフェクトがポップアップできるようにしたい.
ありがとう!(私はこれに行き詰まっており、今すぐ回答が必要なので、おそらく1つまたは2つのJavaサイトに再投稿して、できるだけ早く回答を得ることができますが、ありがとう!!!!)
EDITED CODE: (まだ現在のストリームを停止しません。これ以上の提案を歓迎します)
public static void songs(String word) throws IOException {
String temp = word;
if (temp.equals("go")) {
try {
blah = new FileInputStream("C:/Users/Austin/Desktop/Storage/programimages/game/battle.wav");
} catch (Throwable e) {
e.printStackTrace();
}
AudioStream as = new AudioStream(blah);
AudioPlayer.player.start(as);
System.out.println("going");
}
if (temp.equals("stop")) {
//don't try and do things with a null object!
if (as != null) {
AudioPlayer.player.stop(as);
System.out.println("stopping1");
}
System.out.println("stopping2");
AudioPlayer.player.stop(as);
}
}