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, сохраняют четкость при изменении размера.
Как я могу этого добиться?