class PlayThread extends Thread{
byte[] tempBuffer=new byte[10000];
int cnt;
public void run()
{
try{
(1) while((cnt=audioInputStream.read(tempBuffer,0,tempBuffer.length))!=-1)
{
if(cnt>0)
{
sourceDataLine.write(tempBuffer, 0, cnt);
(2)
}
}
(3) sourceDataLine.drain();
(4)                sourceDataLine.close(); 
}catch(Exception e){e.printStackTrace();}
}
} 4段代码 哪个管音频输出那?  我删了3,4 也能输出1是将audioInputStream 写入 tempBuffer
2是将tempBuffer  写入 sourceDataLine 
我以为 3 是输出但是 删了也没事 难道是 2 管输出?
再写入的同时 输出?