JavaFX - MediaPlayer 的 isAutoPlay() 方法



在 JavaFX 中,'MediaPlayer' 类的 isAutoPlay() 方法是一个 getter 方法,用于检索 'autoPlay' 属性的值。此属性决定媒体是否在准备好后立即开始播放。

例如,当我们创建一个新的 MediaPlayer 实例时,它会自动进入 READY 状态。默认情况下,autoPlay 属性设置为 false。

要使用 isAutoPlay() 方法,我们需要首先使用 setAutoPlay() 方法将 'autoPlay' 属性设置为 true。如果我们不这样做,isAutoPlay() 将返回 false。

语法

以下是 'MediaPlayer' 类中 'isAutoPlay()' 方法的语法:

public final boolean isAutoPlay()

参数

此方法不接受任何参数。

返回值

此方法返回一个布尔值,该值简单地指示媒体在准备好后是否会自动播放。

示例 1

以下是一个演示 'MediaPlayer' 类中 isAutoPlay() 方法的基本示例:

在此示例中,我们使用媒体文件的路径创建了一个 Media 实例。然后,我们创建一个 MediaPlayer 对象并将 autoPlay 属性设置为 true。之后,我们使用 isAutoPlay() 方法显示 autoPlay 属性的值。

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());
      });
   }
}

输出

以下是代码的输出:

AutoPlay enabled: true

示例 2

在此示例中,我们正在创建一个应用程序,该应用程序在 VBox 上显示带有 autoPlay 值的视频。我们没有显式设置 autoPlay 属性,因此 isAutoPlay() 方法将显示值为 false,这可以在输出中看到。

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);
   }
}

输出

以下是代码的输出:

isAutoPlay
广告

© . All rights reserved.