sound mit java
-
hallo ,
ich habe folgendes problem ich programmier ein spiel!!
in dem spiel soll eine hintergrund musik laufen! wenn ich mit dem spieler auf ein gegner treffe, soll er eine soundeffekt musik abspielen d.h wenn er stirbt tot.midi abspieln mit der hintergrundmusik!!
wenn ich eine aktion durchführe sprich schlage ist sound datei in einer unetlich schleife und hört nicht auf zu spielen die aktion bleibt stetzt vorhanden und es wird immer wieder abgespielt in einer unentlich spchleife wie kann ich dieses unterbinden ?
eine musik datei soll nur einmal abgespielt werden??import java.io.File;
import java.io.IOException;
import javax.sound.midi.*;public class MidiMusik
implements iSound
{public MidiMusik(String file)
{
init(file);
}public void init(String file)
{// hier wird die hintergrund musik initialisiert
try
{
sequence = MidiSystem.getSequence(new File(file));
sequencer = MidiSystem.getSequencer();
sequencer.open();
sequencer.setLoopCount(-1);
sequencer.setSequence(sequence);
}
catch(IOException ioexception) { }
catch(MidiUnavailableException midiunavailableexception) { }
catch(InvalidMidiDataException invalidmididataexception) { }
}public void stop()
{
sequencer.stop();
}public void play()
{
sequencer.start();
}public void replay()
{
sequencer.stop();
sequencer.start();
}public void stopaktion()
{
sequenceraktion.stop();
}public void playaktion()
{
sequenceraktion.start();}
// hier werden die aktionen durchgeführt
public void aktion(String file)
{try
{sequenceaktion = MidiSystem.getSequence(new File(file));
sequenceraktion = MidiSystem.getSequencer();
sequenceraktion.open();
sequenceraktion.setLoopCount(-1);
sequenceraktion.setSequence(sequenceaktion);
}
catch(IOException ioexception) { }
catch(MidiUnavailableException midiunavailableexception) { }
catch(InvalidMidiDataException invalidmididataexception) { }}
Sequence sequence,sequenceaktion;
Sequencer sequencer,sequenceraktion;
}