JavaFX - MediaView setSmooth() 方法



在 JavaFX 中,'MediaView' 類中的 setSmooth() 方法用於指定是否應平滑渲染媒體內容。

如果 'smoothProperty' 設定為 'true',則 setSmooth() 方法在縮放或轉換影片以適應提供的邊界框時使用更高質量的濾波演算法。如果設定為 'false',則它使用速度更快但質量較低的濾波演算法。

注意 - 平滑的預設行為取決於平臺配置。

語法

'MediaView' 類的 'setSmooth()' 方法的語法如下:

public final void setSmooth(boolean value)

引數

此方法接受一個引數:

  • value - 一個布林值,指示是否應應用平滑。

返回值

此方法不返回值,它只是設定 'MediaView' 例項的平滑屬性。

示例 1

以下是一個演示 'MediaView' 類的 setSmooth() 方法的基本示例:

在這個示例中,我們演示了將 MediaView 的平滑屬性設定為 'true',這在縮放或轉換影片時使用更高質量的濾波演算法。

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 SetSmoothEx extends Application {
   @Override
   public void start(Stage primaryStage) {
      File mediaPath = new File("./audio_video/sampleTP.mp4");
      Media media = new Media(mediaPath.toURI().toString());

      // Create a MediaPlayer object and attach the Media object
      MediaPlayer mediaPlayer = new MediaPlayer(media);

      // Create a MediaView associated with the MediaPlayer
      MediaView mediaView = new MediaView(mediaPlayer);

      // Set smooth to true
      mediaView.setSmooth(true);

      // Create a layout and add the MediaView
      StackPane root = new StackPane();
      root.getChildren().add(mediaView);

      // Set up the scene
      Scene scene = new Scene(root, 550, 270);
      primaryStage.setScene(scene);
      primaryStage.setTitle("MediaView setSmooth() Example");
      primaryStage.show();

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

輸出

以下是程式碼的輸出:

setSmooth1

示例 2

在這個示例中,我們演示了將 MediaView 的平滑屬性設定為 'false'。這需要在縮放或轉換影片時使用更快但質量較低的濾波演算法。這可能會導致視覺質量下降,尤其是在調整影片大小或轉換影片時。

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 SetSmoothEx extends Application {
   @Override
   public void start(Stage primaryStage) {
      File mediaPath = new File("./audio_video/sampleTP.mp4");
      Media media = new Media(mediaPath.toURI().toString());

      // Create a MediaPlayer object and attach the Media object
      MediaPlayer mediaPlayer = new MediaPlayer(media);

      // Create a MediaView associated with the MediaPlayer
      MediaView mediaView = new MediaView(mediaPlayer);

      // Set smooth to true
      mediaView.setSmooth(false);

      // Create a layout and add the MediaView
      StackPane root = new StackPane();
      root.getChildren().add(mediaView);

      // Set up the scene
      Scene scene = new Scene(root, 550, 270);
      primaryStage.setScene(scene);
      primaryStage.setTitle("MediaView setSmooth() Example");
      primaryStage.show();

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

輸出

以下是程式碼的輸出:

setSmooth1
廣告
© . All rights reserved.