[英]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.