JavaFX: MediaView - качество видео теряется при изменении размера

У меня есть приведенный ниже код для воспроизведения видео с помощью MediaView

import javafx.application.Application;
import javafx.beans.binding.Bindings;
import javafx.beans.property.DoubleProperty;
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;

public class PlayVideo extends Application {

    @Override
    public void start(Stage primaryStage) {

        StackPane root = new StackPane();

        MediaPlayer player = new MediaPlayer( new Media(getClass().getResource("Demo.mp4").toExternalForm()));
        
        MediaView mediaView = new MediaView(player);
        
        DoubleProperty mvw = mediaView.fitWidthProperty();
        DoubleProperty mvh = mediaView.fitHeightProperty();
        mvw.bind(Bindings.selectDouble(mediaView.sceneProperty(), "width"));
        mvh.bind(Bindings.selectDouble(mediaView.sceneProperty(), "height"));
        mediaView.setPreserveRatio(true);
        mediaView.setSmooth(true);

        root.getChildren().add( mediaView);

        Scene scene = new Scene(root, 1024, 768);

        primaryStage.setScene(scene);
        primaryStage.show();


        player.play();

    }

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

}

Видео воспроизводится нормально и все выглядит хорошо. Но когда я уменьшаю размер видео (изменяю размер сцены), видео теряет четкость и все искажается.

Ниже приведены подробности моего видео:

Можно ли сохранить четкость при уменьшении размера. Другие медиаплееры, такие как Windows Media Player или VLC, сохраняют четкость при изменении размера.

Как я могу этого добиться?

0 ответов

Другие вопросы по тегам