繁体   English   中英

MediaFlayer.seek()和MediaPlayer.getCurrentTime()的JavaFX问题;

[英]JavaFX issue with MediaPlayer.seek() and MediaPlayer.getCurrentTime();

我正在使用JavaFX的MediaPlayer播放mp3文件,并且getCurrentTime()工作正常,但是当我在某些时候使用seek()方法时, getCurrentTime()返回错误的时间。 这是JavaFX问题吗?

我尝试了一个小例子,你的问题一切正常。 seek()工作正常,因此 seek() 之前之后getCurrentTime() seek() 看看这个例子

import java.io.File;

import javafx.application.Application;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;
import javafx.util.Duration;


public class MediaPlayerMP3 extends Application
{

    @Override
    public void start(Stage arg0) throws Exception {
        String source = new File("audio.mp3").toURI().toString();
        Media media = null;
        media = new Media(source);
        final MediaPlayer mediaPlayer = new MediaPlayer(media);
        mediaPlayer.play();
        new Thread(new Runnable() {

            @Override
            public void run() {
                while(true)
                {
                    if(mediaPlayer.getCurrentTime().greaterThan(Duration.millis(1000)) 
                            && mediaPlayer.getCurrentTime().lessThan(Duration.millis(3000)))
                        mediaPlayer.seek(Duration.millis(80000));
                    System.out.println(mediaPlayer.getCurrentTime());
                }
            }
        }).start();
    }

    public static void main(String args[])
    {
        launch(args);
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM