Musik in Java (start/stop)
Ok, also ich mache ein Spiel und die Musik ändert sich, wenn Sie in verschiedenen Regionen oder wenn es zu einer Unterbrechung, wie mit einem AI.
So, ich habe GERADE gelernt, wie man Musik showup in meinem Programm, und jetzt bin ich versucht zu machen, es zu stoppen, aber ich bin nicht sicher, wie Sie, unten ist ein code-snippet, wo die Musik spielt und dann versuche ich overwite es mit der neuen Musik, wenn eine Aktion erfolgt.
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);
}
}
}
Dies ist die einzige Methode, die ich in der Lage gewesen zu finden, dass hat die Musik zu spielen, aber wenn Sie Kerle irgendwelche anderen Vorschläge hast, lass es mich wissen.
Wieder, ich will sound beeinflusst und Musik gehen, und jetzt ist alles, was geschieht, ein Lied zu spielen, und es wird nicht aufhören, unter keinen Umständen, bis er trifft das Ende seiner Länge. Ich möchte in der Lage sein zu stoppen, songs, Wann immer eine neue kommen sollte, auf, und ermöglichen auch sound betrifft, um pop-up.
Dank!
(da bin ich stecken, auf diese und benötigen eine Antwort, jetzt werde ich wohl umbuchen auf ein oder zwei weitere java-Websites, so kann ich bekommen eine Antwort so schnell wie möglich, danke aber!!!!)
BEARBEITETEN CODE: (noch nicht aufhören, den Strom, noch Anregungen geschätzt)
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);
}
}
AudioStream
Was ..was genau? Wo sind die JavaDocs für dieAudioStream
Klasse?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Derzeit erstellen Sie eine neue
AudioStream
in Ihrem stop-Zweig und den Aufruf der stop-Methode mit dieser. Dies ist ein anderes Objekt, die derzeit spielen. Versuchen Sie, dieAudioStream
eine Klasse variable, und rufen halt auf, dass statt.EDIT: an der Spitze der Klasse, in der Ihr code...
In Ihre start-Niederlassung:
In Ihrem stop-Branche:
Können Sie Schwierigkeiten haben, mit der
static
Bezeichner auf Ihre Methode - wenn Sie diese aufrufen, der innerhalb einer Klasse instanziiert, die Sie nicht brauchen.AudioStream as = new AudioStream(blah);
nuras = new AudioStream(blah);
, nach meinem Beispiel.Kann ich auch nicht zugreifen, diese Sonne.audio-Objekte auf meiner Eclipse-IDE--ich weiß, Sie sind in rt.jar aber es gibt header info über Sie zu proprietären und so.
Kann die Java-Sound-library (javax.sound.Stichprobe) handhaben, was Sie tun wollen? Beide Clips und SourceDataLine erlauben es, um die Wiedergabe zu stoppen. Das ist eine weitere übliche Art der Wiedergabe, wenn Sie möchten, verwenden Sie das native Java.
Wiedergabe in ist hier:
http://docs.oracle.com/javase/tutorial/sound/playing.html
Aber die Dokumentation insgesamt ist nicht gerade Reich an Beispielen. Gibt es Beispiel-code auf dieser Website
http://www.jsresources.org/
und viele Leute hier, die helfen könnten, wenn Sie laufen in Probleme mit der nativen Java-Ansatz.