Wave Datei mehrmals abspielen

dyingangel

Mitglied
Hey Leute,

brauche für ein Kinect Spiel mit OpenNI ein paar Sounds. Hab mir ne kleine Klasse geschrieben um die Sounds zu laden. Er spielt sie auch einwandfrei ab, allerdings nur einmal. Wenn der Sound erneut abgespielt werden soll, wird leider nix mehr abgespielt, woran kann das liegen?

Die Sound Klasse:
Java:
package kinect.game;

import java.io.File;

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;

public class Sound
{
    Clip clip;
    
    public Sound(String path)
    {
        try
        {
            AudioInputStream inputStream = AudioSystem.getAudioInputStream(new File(path));
            
            clip = AudioSystem.getClip();
            clip.open(inputStream);
        }
        catch (Exception e) { e.printStackTrace(); }
    }
    
    public void start()
    {
        clip.start();
    }
    
    public boolean isRunning()
    {
    	return clip.isRunning();
    }
}

Die Klasse wo die Sound abgespielt werden:
Java:
private static Sound rhtlf = new Sound("sound/rhtlf.wav");

....

rhtlf.start();

Wär super wenn jemand ne Idee hätte, bin gerade irgendwie ratlos. Dachte erst man muss die Datei wieder "zurückspulen", aber dafür ist keine Funktion vorhanden :bahnhof:
 
Es gibt die Methoden setFramePosition(int) und setMicrosecondPosition(long) im Clip Interface. Habe keine Erfahrung damit, aber von der Beschreibung im JavaDoc könnte das passen.
 
Jawollja, setFramePosition() war die Lösung, dank dir. Hatte selbst auch in der API reingeschaut, aber natürlich nur nach Methoden wie rewind() o.ä gesucht...

Jetzt setzt ich einfach immer wieder alle Wavefiles auf 0 zurück und siehe da es funzt :toll:

Danke für die Hilfe!
 

Zurück
Oben