JavaFX - MediaPlayer getStartTime() Method



In JavaFX, the getStartTime() method in the MediaPlayer class is used to control the playback of media and retrieve the start time of the media, which is the time offset where the media will start playing. By default, it is set to 'Duration.ZERO', indicating the beginning of the media.

The getStartTime() method returns the start time when we have set the start time using the setStartTime() method. Otherwise, by default, this method returns 0.0ms.

Syntax

Following is the syntax of the 'getStartTime()' method of 'MediaPlayer' class −

public final Duration getStartTime()

Parameters

This method doest not take any parameter −

Return value

This method returns a duration instance representing the start time.

Example 1

Following is a basic example demonstrating the getStartTime() method of 'MediaPlayer' class −

In this example, the setStartTime() method is used to set the start time of the media playback to 30 seconds from the beginning. Then, we call the getStartTime() method to retrieve the start time, which is printed to the console.

import javafx.application.Platform;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.util.Duration;
import java.io.File;
public class GetStartTimeEx{
   public static void main(String[] args) {
      Platform.startup(() -> {
         File mediaPath = new File("./audio_video/Hero2.mp3");
         // Create a Media object
         Media media = new Media(mediaPath.toURI().toString());
         MediaPlayer mediaPlayer = new MediaPlayer(media);
         
         // Set the start time to 30 seconds into the media
         mediaPlayer.setStartTime(Duration.seconds(30));
         
         // Get the start time using getStartTime() method
         Duration startTime = mediaPlayer.getStartTime();
         System.out.println("The media will start playing at: " + startTime.toSeconds() + " seconds");
      });
   }
}

Output

Following is the output of the code −

The media will start playing at: 30.0 seconds

Example 2

In this example, we create an application to load a video file. We use the setStartTime() method to establish the starting time for playback. After setting the start time, we retrieve this time using the getStartTime() method.

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
import javafx.util.Duration;
import java.io.File;
public class GetStartTimeExample extends Application {
   @Override
   public void start(Stage primaryStage) {
      File mediaPath = new File("./audio_video/sampleTP.mp4");
      // Create a Media object
      Media media = new Media(mediaPath.toURI().toString());
      // Create a MediaPlayer object and attach the Media object
      MediaPlayer mediaPlayer = new MediaPlayer(media);

      // Set the start time to 60 seconds into the media
      mediaPlayer.setStartTime(Duration.seconds(60));

      // creating a MediaView object from the MediaPlayer Object
      MediaView viewmedia = new MediaView(mediaPlayer);
      viewmedia.setFitHeight(280);
      viewmedia.setFitWidth(500);

      // Create a VBox to hold the label and MediaView
      VBox root = new VBox();

      // Get the start time using getStartTime() method	  
      Duration startTime = mediaPlayer.getStartTime();
      // Use String.valueOf to convert duration to String
      Label starttime = new Label("Start Time: " + String.valueOf(startTime));
      root.getChildren().addAll(viewmedia, starttime);

      Scene scene = new Scene(root, 550, 300);

      // Set the Scene to the Stage
      primaryStage.setScene(scene);
      primaryStage.setTitle("getBalance Example");
      primaryStage.show();
       
      mediaPlayer.play();
   }
   public static void main(String[] args) {
      launch(args);
   }
}

Output

Following is the output of the code −

setstarttime
Advertisements