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 ?