jLayer 1.0.1 getPosition并不总是返回ms

时间:2012-06-11 14:04:20

标签: java jlayer

我在我的程序中实现了jLayer的简单用法(播放/停止,显示进度),效果很好。

但是我遇到了getPosition()的问题,它在我的Windows XP机器上以ms为单位返回值(如文档所述),但是在我的Ubuntu机器上的SECONDS中。

有没有人知道为什么会有这样的差异?

1 个答案:

答案 0 :(得分:0)

看看源代码!我认为你正在与Player类进行对话。

它的getPosition()直接调用AudioDevice.getPosition(),JavaAudioDevice实现返回SourceDataLine.getMicroSecondPostion()/ 1000.后一个类是部分或JRE,所以我假设特定的JRE版本被窃听或者操作系统不提供更高的分辨率。可能也是导致此问题的硬件平台的特定音频驱动程序。

除了更新JRE和OS之外,您无能为力。如果这没有帮助,您只能提交错误报告。

编辑:有bug报告我的意思是VM的供应商,因为JLayer的人不能对JRE返回虚假值做任何事情。