2
我在用JavaFX的MediaPlayer播放mp3文件,並且getCurrentTime()
工作正常,但是當我在某些時候使用seek()
方法時,getCurrentTime()
返回錯誤的時間。這是一個JavaFX的問題?MediaFlayer.seek()和MediaPlayer.getCurrentTime()的JavaFX問題;
我在用JavaFX的MediaPlayer播放mp3文件,並且getCurrentTime()
工作正常,但是當我在某些時候使用seek()
方法時,getCurrentTime()
返回錯誤的時間。這是一個JavaFX的問題?MediaFlayer.seek()和MediaPlayer.getCurrentTime()的JavaFX問題;
我試了一個小例子w.r.t你的問題,一切工作正常。 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);
}
}
老兄,我有你的同樣的問題。我以爲我瘋了。 – arjabbar