JavaFX - MediaPlayer setRate() 方法



在 JavaFX 中,setRate() 方法設定媒體播放器的播放速度。播放速度決定了媒體播放的速度快慢。

“速度”值介於 0.0 和 8.0 之間。如果媒體持續時間設定為 Duration.INDEFINITE,則呼叫此方法不會更改任何內容。

語法

以下是 MediaPlayer 類中 'setRate()' 方法的語法:

public final void setRate(double value)

引數

此方法接受一個引數。

  • value − 一個 'double' 值,表示播放速度,其中 1.0 的播放速度等於正常速度。較高的速度會加快播放速度,而較低的速度會降低播放速度。

返回值

此方法不返回值。

示例

以下是一個演示 MediaPlayer 類 setRate() 方法的基本示例:

在這個例子中,我們建立了一個應用程式,其中影片在 StackPane 上以 1.5 倍的播放速度播放。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
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 SetRateExample extends Application {
   @Override
   public void start(Stage primaryStage) {
      File mediaPath = new File("./audio_video/sampleTP.mp4");
      Media media = new Media(mediaPath.toURI().toString());

      MediaPlayer mediaPlayer = new MediaPlayer(media);
      // Set the playback rate to 1.5x
      mediaPlayer.setRate(1.5);
      // Create a MediaView to visualize the media
      MediaView mediaView = new MediaView(mediaPlayer);

      mediaView.setFitHeight(250);
      mediaView.setFitWidth(400);

      // Create a StackPane and add the MediaView to it
      StackPane stackPane = new StackPane();
      stackPane.getChildren().add(mediaView);
      // Create a Scene with the StackPane as the root node
      Scene scene = new Scene(stackPane, 550, 300);

      primaryStage.setScene(scene);
      primaryStage.setTitle("Media Player with Custom Rate");
      primaryStage.show();

      // Play the media
      mediaPlayer.play();
   }
   public static void main(String[] args) {
      launch(args);
   }
}

輸出

以下輸出顯示媒體以 1.5 倍的播放速度播放。

mPlayersetRate
廣告