主题:请教:wav声音播放的末尾,windows和linux下效果不同
《代码》:
用网上介绍的播放声音的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下不能正常工作?还是另有原因?是否有解决办法?
用网上介绍的播放声音的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下不能正常工作?还是另有原因?是否有解决办法?