小编Eri*_*low的帖子

javaFX MediaPlayer getCurrentTime()不可靠

要播放mp3文件,我正在使用该javafx.scene.media.MediaPlayer课程.但我注意到使用该seek()方法后currentTimeProperty不可靠.

initMediaPlayer()当用户选择mp3文件时,将调用下面代码中的方法.播放时间显示在时间滑块(=timeSlider)中,用户可以从该滑块中移动以从歌曲中的任何一点开始播放.歌曲中的当前位置也显示在标签(=timeLabel)中.

当我开始播放时play(),当我用pause()或暂停或重启歌曲时stop(),一切正常.

问题是使用后seek()currentTimeProperty长度不正确.这在歌曲结束时变得非常明显,然后currentTimeProperty有时比歌曲的总时间长4秒.

这个问题的原因是什么,有办法解决这个问题吗?

private void initMediaPlayer() {
    try {
        audio = new Media(audioFile.toURI().toURL().toString());
        audioPlayer = new MediaPlayer(audio);
    } catch (MalformedURLException ex) {
        Logger.getLogger(MainWindowController.class.getName())
            .log(Level.SEVERE, null, ex);
    }

    audioPlayer.currentTimeProperty().addListener(new InvalidationListener() {
        public void invalidated(Observable ov) {
            Duration time = audioPlayer.getCurrentTime();
            Duration total = audioPlayer.getTotalDuration();

            if (!timeSlider.isValueChanging() &&
                total.greaterThan(Duration.ZERO)){

                timeSlider.setValue(time.toMillis() / total.toMillis() * 100);
            }

            timeLabel.setText(formatTime(time,total));
        }
    });

    timeSlider.valueChangingProperty().addListener(new …
Run Code Online (Sandbox Code Playgroud)

java javafx media-player

6
推荐指数
1
解决办法
3454
查看次数

Sonar标志"糟糕的做法":如果扩展类,在XYZ中使用GetResource可能是不安全的

Sonar在我们的Java项目中指出了这个错误.欢迎任何安全编程的建议!

URL url = getClass().getResource("/myWonderfulResource.txt");
if (url == null) {
  throw new IllegalStateException("File not found: /myWonderfulResource.txt");
}
Run Code Online (Sandbox Code Playgroud)

java url unsafe getresource sonarqube

6
推荐指数
1
解决办法
2472
查看次数

$PATH 是否需要子目录

给定一个类似 $PATH 的路径:

/Users/myname/bin:
/usr/local/Cellar:
/usr/local/Cellar/ruby/1.9.3-p362/bin:
... and so forth
Run Code Online (Sandbox Code Playgroud)

我真的需要 ruby​​ 位置还是 /usr/local/Cellar 足以找到 ruby​​?

macos bash path

3
推荐指数
1
解决办法
941
查看次数

标签 统计

java ×2

bash ×1

getresource ×1

javafx ×1

macos ×1

media-player ×1

path ×1

sonarqube ×1

unsafe ×1

url ×1