2014-03-31 25 views

回答

0

我試了一個小例子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); 
    } 

}