Hallo,
mein Spiel hat im Moment folgende Klasse:
Die Klasse dient zum Abspielen von Sounds...
Leider scheint AudioInputStream sehr pingelich zu sein. Kriege keinen Stereo Sound abgespielt, bei längeren Sounds meldet er mir "Failed to allocate clip data: Requested buffer too large."...
Gibt es eine bessere Möglichkeit Sounds abzuspielen? (Möglicherweise auch andere Formate als .wav, wie zum Beispiel mp3?)
lg Toto
mein Spiel hat im Moment folgende Klasse:
Java:
package Sound;
import java.io.*;
import javax.sound.sampled.*;
/**
* Diese Klasse dient zum Abspielen von Sounds.
*/
public class SoundThread extends Thread {
/**
* Dateiname des Sounds.
*/
private String filename;
private Clip audioClip;
private boolean loop;
public SoundThread(String path, boolean loop) {
super();
this.filename = path;
this.loop = loop;
}
/**
* Spiel den Sound ab.
*/
public void run() {
AudioFormat af;
try {
AudioInputStream audioInputStream =
AudioSystem.getAudioInputStream(
new File(SoundThread.class.getResource(filename).getFile()));
af = audioInputStream.getFormat();
int size =
(int) (af.getFrameSize() * audioInputStream.getFrameLength());
byte[] audio = new byte[size];
DataLine.Info info = new DataLine.Info(Clip.class, af, size);
audioInputStream.read(audio, 0, size);
audioClip = (Clip) AudioSystem.getLine(info);
audioClip.open(af, audio, 0, size);
if (loop) {
audioClip.loop(audioClip.LOOP_CONTINUOUSLY);
}
audioClip.start();
} catch(Exception e) {
e.printStackTrace();
}
}
}
Die Klasse dient zum Abspielen von Sounds...
Leider scheint AudioInputStream sehr pingelich zu sein. Kriege keinen Stereo Sound abgespielt, bei längeren Sounds meldet er mir "Failed to allocate clip data: Requested buffer too large."...
Gibt es eine bessere Möglichkeit Sounds abzuspielen? (Möglicherweise auch andere Formate als .wav, wie zum Beispiel mp3?)
lg Toto