JavaFX - MediaPlayer getStopTime() Method



In JavaFX, the getStopTime() method in the MediaPlayer class is used to retrieve the stop time of the currently loaded media.

In addition, this method returns the value of the stopTime property, which is of type duration. If the stop time hasn't been set, it will return 'null' or some default value indicating that the media should play to the end.

Syntax

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

public final Duration getStopTime()

Parameters

This method doesn't take any parameter.

Return value

This method returns duration instance representing the time at which the media should stop playing.

Example 1

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

In this example, we create a Media object and a MediaPlayer object to play it. We set the stop time to 60 seconds using the setStopTime() method. Then, we retrieve the stop time using getStopTime(), which will be printed on 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 GetStopTimeEx{
   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 stop time to 1 minutes for the loaded media
         mediaPlayer.setStopTime(Duration.seconds(60));
         
         // Get the stop time using getStopTime() method
         Duration stopTime = mediaPlayer.getStopTime();
         System.out.println("The media will stop playing at: " + stopTime.toSeconds() + " seconds");
      });
   }
}

Output

Following is the output of the code −

The media will stop playing at: 60.0 seconds

Example 2

In this example, we build an application that loads and plays a video in a VBox. We set the video’s stop time with setStopTime() and then get this time using getStopTime().

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 GetStopTimeExample 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 stop time in 30 seconds for the media
      mediaPlayer.setStopTime(Duration.seconds(30));

      // 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 stop time using getStopTime() method	  
      Duration stopTime = mediaPlayer.getStopTime();
      // Use String.valueOf to convert duration to String
      Label stoptime = new Label("Stop Time: " + String.valueOf(stopTime));
      root.getChildren().addAll(viewmedia, stoptime);

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

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

Output

Following output of the code displays the stop time of the video in milliseconds.

getStopTime

Example 3

In this example, we print the default value returned by the getStopTime() method.

import javafx.application.Platform;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.util.Duration;
import java.io.File;
public class GetStopTimeEx{
   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);
         
         // Get the stop time using getStopTime() method
         Duration stopTime = mediaPlayer.getStopTime();
         System.out.println("The media will stop playing at: " + stopTime.toSeconds() + " seconds");
      });
   }
}

Output

Following is the output of the code, which is the default value retuned by the getStopTime() method.

The media will stop playing at: NaN seconds
Advertisements