JavaFX - MediaPlayer isAutoPlay() Method



In JavaFX, the isAutoPlay() method of the 'MediaPlayer' class is a getter method that retrieves the value of the 'autoPlay' property. This property determines whether the media should start playing as soon as it is possible.

For example, when we create a new MediaPlayer instance, it automatically reaches the READY state. By default, the autoPlay property is set to be false.

To use the isAutoPlay() method, we need to set the 'autoPlay' property to true with the setAutoPlay() method first. If we don't, isAutoPlay() will return false.

Syntax

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

public final boolean isAutoPlay()

Parameters

This method does not takes any parameters.

Return value

This method returns a boolean value that simply indicates whether the media will automatically play when ready.

Example 1

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

In this example, we create a Media instance with the path to the media file. Then, we create a MediaPlayer object and set the autoPlay property to true. Afterward, we use the isAutoPlay() method to display the value of the autoPlay property.

import javafx.application.Platform;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import java.io.File;
public class IsAutoPlay1{
   public static void main(String[] args) {
      // Initialize the JavaFX runtime
      Platform.startup(() -> {
         File mediaPath = new File("./audio_video/Hero2.mp3");
         // 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 autoPlay to true
         mediaPlayer.setAutoPlay(true);

         // Check if autoPlay is enabled
         System.out.println("AutoPlay enabled: " + mediaPlayer.isAutoPlay());
      });
   }
}

Output

Following is the output of the code −

AutoPlay enabled: true

Example 2

In this example, we are creating an application that displays a video with the autoPlay value on a VBox. We have not set the autoPlay property explicitly, so the isAutoPlay() method will show the value as false, which can be seen in the output.

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 java.io.File;

public class IsAutoPlay2 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 autoPlay to true
      //mediaPlayer.setAutoPlay(true);
      
      // 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();

      // Use String.valueOf to convert boolean to String
      Label playLabel = new Label("AutoPlay Enabled: " + String.valueOf(mediaPlayer.isAutoPlay()));
      root.getChildren().addAll(viewmedia, playLabel);

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

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

Output

Following is the output of the code −

isAutoPlay
Advertisements