Cześć, mam taką klasę odtwarzającą pliki wav
public class Graj_dzwiek extends Thread
{
private InputStream strumien;
private byte[] bufor;
private AudioFormat format;
private SourceDataLine linia=null;
private int dlugosc;
public Graj_dzwiek(Dzwiek dzwiek)
{
strumien = (InputStream)dzwiek.zwroc_strumien();
format=dzwiek.zwroc_format();
dlugosc = dzwiek.zwroc_dlugosc();
bufor = new byte[dlugosc];
try
{
DataLine.Info info = new DataLine.Info(SourceDataLine.class,format);
linia = (SourceDataLine)AudioSystem.getLine(info);
linia.open(format,dlugosc);
}
catch (LineUnavailableException e){}
}
public void run()
{
linia.start();
try
{
int numer_bajtu=0;
numer_bajtu = strumien.read(bufor,0,dlugosc);
if(numer_bajtu!=-1)
{
linia.write(bufor,0,numer_bajtu);
}
}
catch(IOException e){}
catch(NullPointerException e){}
linia.drain();
linia.close();
}
}
Tą klase uruchamiam jako wątek za każdy mrazem gdy chce odtworzyć dźwiek, a moje pytanie jest takie, co zrobic by przy szybkim włączaniu nowych dźwieków nie było strzelania w glosnikach ?