《代码》: 
用网上介绍的播放声音的java例子: 
。。。 
int numBytesRead = 0; 
while (numBytesRead != -1) { 
numBytesRead = 
_source.read(_buffer, 0, _buffer.length); 
if (numBytesRead != -1) { 
_line.write(_buffer, 0, numBytesRead); 




_line.drain(); 
_line.close(); 

《效果》: 
在windows下,执行以上代码,能够正常播放声音文件。 
在linux下,执行以上代码,声音文件的末尾约两个字的发音未被播放。 

《调查》: 
如果在 _line.close(); 语句之前等待一段时间,如1秒 sleep(1000),则linux下也能够完整播放。 
猜测问题的原因是_line.drain()在linux下不能正常工作。 

《问题》: 
是否_line.drain(); 在linux下不能正常工作?还是另有原因?是否有解决办法?