Java 类javafx.scene.media.MediaView 实例源码

项目:ExtremeGuiMakeover    文件:MovieViewSkin.java   
private void addBackgroundMediaView() {
    Media media = new Media(MovieView.class.getResource("/backdrop-video.mp4").toExternalForm());
    MediaPlayer player = new MediaPlayer(media);
    player.setMute(true);
    MediaView mediaView = new MediaView(player);
    mediaView.setOpacity(.3);
    getChildren().add(mediaView);
    mediaView.visibleProperty().bind(getSkinnable().showMediaViewBackgroundProperty());
    getSkinnable().showMediaViewBackgroundProperty().addListener(it -> {
        if (getSkinnable().isShowMediaViewBackground()) {

            /*
             * Implementing our own infinite loop support.
             * The built-in cycle count support seems to be buggy.
             */
            player.setOnEndOfMedia(() -> {
                player.seek(Duration.ZERO);
                player.play();
            });
            player.play();
        } else {
            player.stop();
        }
    });
}
项目:fx-video-viewer    文件:FxVideoViewer.java   
public void closeMedia() {
    final MediaView mediaView = getMediaView();
    if (null == mediaView) return;
    //
    mediaView.fitHeightProperty().unbind();
    mediaView.fitWidthProperty().unbind();
    //
    final MediaPlayer mediaPlayer = mediaView.getMediaPlayer();
    if (null != mediaPlayer) {
        mediaPlayer.stop();
        mediaPlayer.volumeProperty().unbind();
        mediaPlayer.onReadyProperty().unbind();
        mediaPlayer.dispose();
        //
        mediaView.setOnScroll(null);
        mediaView.setOnMouseClicked(null);
        mediaView.setMediaPlayer(null);
    }
    //
    getChildren().remove(mediaView);
    MEDIA_VIEW.set(null);
}
项目:Hacking-Demo    文件:VideoPlayer.java   
public VideoPlayer(String p) 
{
    super();

    this.file = new Media(p);
    this.player = new MediaPlayer(this.file);
    this.view = new MediaView(this.player);

    this.pane = new BorderPane();
    this.fxScene = new Scene(this.pane);

    this.pane.setCenter(this.view);

    this.fxScene.setFill(Paint.valueOf("black"));

    this.addComponentListener(this);
    this.addKeyListener(this);
    this.componentResized(null);

    this.setScene(this.fxScene);
}
项目:livro-javafx-pratico    文件:TocandoVideo.java   
@Override
public void start(Stage palco) throws Exception {

    Media media = new Media(VIDEO_URL); // 1
    MediaPlayer mediaPlayer = new MediaPlayer(media); // 2
    MediaView mediaView = new MediaView(mediaPlayer); // 3

    StackPane raiz = new StackPane();
    raiz.getChildren().add(mediaView); // 4
    Scene cena = new Scene(raiz, 600, 400);
    palco.setTitle("Tocando Video em JavaFX");
    palco.setScene(cena);
    palco.show();

    mediaPlayer.play(); // 4
}
项目:code-similarity    文件:JfxVideo.java   
@Override
public void start(Stage primaryStage) throws Exception {
    primaryStage.setTitle("JavaFX Video");
    final List<String> args = getParameters().getRaw();

    String url = args.size() > 0 ?
        args.get(args.size() - 1) :
            "http://www.mediacollege.com/" +
            "video-gallery/testclips/20051210-w50s.flv";
    Media media = new Media(url);

    MediaPlayer player = new MediaPlayer(media);
    player.play();

    MediaView view = new MediaView(player);
    Group root = new Group();
    root.getChildren().add(view);
    Scene scene = SceneBuilder.create().
            width(360).height(288).
            root(root).
            fill(Color.WHITE).
            build();
    primaryStage.setScene(scene);
    primaryStage.show();
}
项目:contentment    文件:MainView.java   
private Pane makeViewport()
{
    Pane owner = new Pane();
    owner.setPrefSize(1600d, 900d);

    player.scriptProperty().addListener((p,o,n)->scriptChanged());

    media = new MediaView();
    owner.getChildren().add(media);

    // non-media background

    ScaleListener listener = new ScaleListener(owner, player.context().canvas, media);
    owner.widthProperty().addListener(listener);
    owner.heightProperty().addListener(listener);
    listener.changed(null, 300, 300);

    owner.setOnMouseClicked((event) -> mouseClicked(event));

    owner.getChildren().add(player.context().canvas);
    return owner;
}
项目:PiratePlayar    文件:MediaControl.java   
protected void initMediaView(){
    mediaView = new MediaView(mediaPlayer);
    mediaView.setOnError(new EventHandler<MediaErrorEvent>() {
        @Override
        public void handle(MediaErrorEvent mediaErrorEvent) {
           // fillQueue(5);
            //reload media
            //restartPlayer(Duration.ZERO);
            logger.debug("MediaView threw an error");
        }
    });
    Pane mvPane = new Pane();
    mvPane.getChildren().clear();
    mvPane.getChildren().add(mediaView);
    mvPane.setStyle("-fx-background-color: black;");
    mvPane.setMinSize(media.getWidth(),media.getHeight());
    mvPane.autosize();
    setCenter(mvPane);
}
项目:yummy-xml-UI    文件:VideoPlayer.java   
private void createScene(final String mediaUrl) {
        StackPane root = new StackPane();
        final Scene scene = new Scene(root);
        final File f = new File(mediaUrl);
        final Media m = new Media(f.toURI().toString());
        mediaPlayer = new MediaPlayer(m);
        final MediaView mv = new MediaView(mediaPlayer);

        final DoubleProperty width = mv.fitWidthProperty();
        final DoubleProperty height = mv.fitHeightProperty();

        width.bind(Bindings.selectDouble(mv.sceneProperty(), "width"));
        height.bind(Bindings.selectDouble(mv.sceneProperty(), "height"));
        mv.setPreserveRatio(true);
//        mediaPlayer.setAutoPlay(true);
//        mediaPlayer.setCycleCount(Integer.MAX_VALUE);
        mediaPlayer.setOnEndOfMedia(new Runnable() {

            @Override
            public void run() {
                replay();
            }
        });
        root.getChildren().add(mv);
        fxContainer.setScene(scene);
    }
项目:ShopCarFX-2.0    文件:TutorialPlayer.java   
@Override
public void initComponents()
{
    media = new Media(getClass().getResource(RESOURCES + "videos/" + mediaName).toString());
    mediaPlayer = new MediaPlayer(media);
    mediaView = new MediaView(mediaPlayer);

    slideIn = new Timeline();  
    slideOut = new Timeline();

    rightTimer = new Label();
    rightTimer.setId("lbl-timer");
    leftTimer = new Label();
    leftTimer.setId("lbl-timer");

    vbox = new VBox(5);
    vbox.setId("fundo-padrao");
    test = new StackPane();
    timeSlider = new Slider();
    btnPlay = new Button();
    btnPlay.setGraphic(new ImageView(imgPause));
    btnPlay.setId("btn-play");

    final HBox hbox = new HBox();
    hbox.setAlignment(Pos.CENTER);
    hbox.getChildren().addAll(leftTimer, btnPlay, rightTimer);

    vbox.getChildren().addAll(timeSlider, hbox);     

    getChildren().addAll(mediaView, vbox);

    mediaPlayer.play();
}
项目:cn1    文件:JavaSEPort.java   
public VideoComponent(JFrame frm, final javafx.embed.swing.JFXPanel vid, javafx.scene.media.MediaPlayer player) {
    super(null);
    SwingUtilities.invokeLater(new Runnable() {

        @Override
        public void run() {
            cnt.setLayout(new BorderLayout());
            cnt.add(BorderLayout.CENTER, vid);
            cnt.setVisible(false);
        }
    });

    Group root = new Group();
    v = new MediaView(player);
    root.getChildren().add(v);
    vid.setScene(new Scene(root));

    this.vid = vid;
    this.frm = frm;
}
项目:javafx-demos    文件:JavaFX_VideoPlayer.java   
@Override
public void start(Stage primaryStage) {
    primaryStage.setTitle("java-buddy.blogspot.com/");

    Group root = new Group();
    Scene scene = new Scene(root, 540, 210);

    // create media player
    Media media = new Media((arg1 != null) ? arg1 : MEDIA_URL);
    MediaPlayer mediaPlayer = new MediaPlayer(media);
    mediaPlayer.setAutoPlay(true);

    // create mediaView and add media player to the viewer
    MediaView mediaView = new MediaView(mediaPlayer);
    ((Group)scene.getRoot()).getChildren().add(mediaView);

    primaryStage.setScene(scene);
    primaryStage.show();
}
项目:javafx-demos    文件:MediaPlayerDemo.java   
public void start(Stage primaryStage) {
    primaryStage.setTitle("Embedded Media Player");
    Group root = new Group();
    Scene scene = new Scene(root, 540, 241);

    // create media player
    Media media = new Media("D:\\Pradeep\\Funny Mails\\Magic Sand.wmv");
    MediaPlayer mediaPlayer = new MediaPlayer(media);
    mediaPlayer.setAutoPlay(true);
    StackPane stack = new StackPane();

    Text t = new Text("Subtitle..");
 // t.textProperty().addChangeListener(..);
//    MediaControl mediaControl = new MediaControl(mediaPlayer);
    MediaView m =new MediaView(mediaPlayer);

    stack.getChildren().addAll(m, t);
    scene.setRoot(stack);

    primaryStage.setScene(scene);
    primaryStage.show();
}
项目:vars    文件:JFXMovieJFrame.java   
public JFXMovieJFrame() throws HeadlessException {
    setLayout(new BorderLayout());
    add(panel);
    setSize(480, 320);
    setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
    addComponentListener(new ComponentAdapter() {
        @Override
        public void componentResized(ComponentEvent e) {
            if (controller != null) {
                MediaView mediaView = controller.getMediaView();
                mediaView.setFitHeight(getHeight());
                mediaView.setFitWidth(getWidth());
            }
        }
    });
}
项目:vars    文件:JFXMovieJFrame.java   
private JFXMovieJFrameController initJFXNodes(final String location, Consumer<JFXMovieJFrameController> onReadyRunnable) throws IOException {
    URL controllerLocation = getClass().getResource("/fxml/JFXMovieJFrame.fxml");
    FXMLLoader loader = new FXMLLoader();
    loader.setLocation(controllerLocation);
    loader.setBuilderFactory(new JavaFXBuilderFactory());

    Parent root = loader.load(controllerLocation.openStream());
    controller = loader.getController();
    controller.setMediaLocation(location, onReadyRunnable);

    Scene scene = new Scene(root);
    scene.getStylesheets().add("/styles/JFXMovieFrame.css");
    panel.setScene(scene);

    MediaView mediaView = controller.getMediaView();
    mediaView.setFitWidth(getWidth());
    mediaView.setFitHeight(getHeight());
    return controller;
}
项目:fx-player    文件:PlayList.java   
private MediaView createMedieView(MediaPlayer player, MediaInfo info) {
    MediaView mediaView = new MediaView(player);
    mediaView.setSmooth(true);
    mediaView.setPreserveRatio(true);
    mediaView.fitWidthProperty().bind(mediaViewFitWidth);
    mediaView.fitHeightProperty().bind(mediaViewFitHeight);
    mediaView.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {

        @Override
        public void handle(MouseEvent event) {
            if (event.getClickCount() == 1) {
                controlPlayPause();
            }
        }
    });

    installMediaInfoTooltip(mediaView, info, 0.8);

    return mediaView;
}
项目:fx-player    文件:PlayList.java   
private void controlSaveSnapshot() {
    MediaView mediaView = videoPane.getMediaView();
    if (mediaView == null) {
        return;
    }
    MediaInfo mediaInfo = currentInfoProperty.getValue();
    if (mediaInfo == null) {
        return;
    }
    final String title = mediaInfo.titleDescProperty().getValue();
    mediaView.snapshot(new Callback<SnapshotResult, Void>() {

        @Override
        public Void call(SnapshotResult result) {
            Image image = result.getImage();
            if (image == null) {
                return null;
            }
            if (!saveSnapshotService.isRunning()) {
                snapshotImageInfoProperty.setValue(new ImageInfo(image, title));
                saveSnapshotService.restart();
            }
            return null;
        }
    }, null, null);
}
项目:fx-player    文件:VideoPane.java   
public void setMediaView(MediaView view) {
    List<MediaView> dels = new ArrayList<>();
    List<Node> children = getChildren();
    for (Node node : children) {
        if (node instanceof MediaView) {
            dels.add((MediaView) node);
        }
    }
    if (!dels.isEmpty()) {
        children.removeAll(dels);
    }
    if (view == null) {
        children.add(0, dummy);
    } else {
        children.add(0, view);
    }
}
项目:marathonv5    文件:AlphaMediaPlayer.java   
private static Group createViewer(final MediaPlayer player, final double scale, boolean blur) {
    Group mediaGroup = new Group();

    final MediaView mediaView = new MediaView(player);

    if (blur) {
        BoxBlur bb = new BoxBlur();
        bb.setWidth(4);
        bb.setHeight(4);
        bb.setIterations(1);
        mediaView.setEffect(bb);
    }

    double width = player.getMedia().getWidth();
    double height = player.getMedia().getHeight();

    mediaView.setFitWidth(width);
    mediaView.setTranslateX(-width/2.0); 
    mediaView.setScaleX(-scale);

    mediaView.setFitHeight(height);
    mediaView.setTranslateY(-height/2.0);
    mediaView.setScaleY(scale);

    mediaView.setDepthTest(DepthTest.ENABLE);
    mediaGroup.getChildren().add(mediaView);
    return mediaGroup;
}
项目:marathonv5    文件:AlphaMediaPlayer.java   
private static Group createViewer(final MediaPlayer player, final double scale, boolean blur) {
    Group mediaGroup = new Group();

    final MediaView mediaView = new MediaView(player);

    if (blur) {
        BoxBlur bb = new BoxBlur();
        bb.setWidth(4);
        bb.setHeight(4);
        bb.setIterations(1);
        mediaView.setEffect(bb);
    }

    double width = player.getMedia().getWidth();
    double height = player.getMedia().getHeight();

    mediaView.setFitWidth(width);
    mediaView.setTranslateX(-width/2.0); 
    mediaView.setScaleX(-scale);

    mediaView.setFitHeight(height);
    mediaView.setTranslateY(-height/2.0);
    mediaView.setScaleY(scale);

    mediaView.setDepthTest(DepthTest.ENABLE);
    mediaGroup.getChildren().add(mediaView);
    return mediaGroup;
}
项目:bad-wolf    文件:Credits.java   
@Override
public void start(final Stage primaryStage) throws Exception {
    MediaView mediaView = new MediaView();
    Media media = new Media(new File("credits/end_scene.mp4").toURI().toString());
    MediaPlayer mediaPlayer = new MediaPlayer(media);
    mediaView.setMediaPlayer(mediaPlayer);
    mediaPlayer.setAutoPlay(true);
    mediaView.setPreserveRatio(false);

    List<String> params = getParameters().getRaw();
    if(params.size() == 2) {
        mediaView.setFitWidth(Integer.parseInt(params.get(0)));
        mediaView.setFitHeight(Integer.parseInt(params.get(1)));
    } else {
        mediaView.setFitWidth(1280);
        mediaView.setFitHeight(720);
    }

    mediaPlayer.setOnEndOfMedia(new Runnable() {
        @Override
        public void run() {
            primaryStage.close();
        }
    });

    primaryStage.setScene(new Scene(new FlowPane(mediaView)));
    primaryStage.show();
}
项目:boomer-tuner    文件:RootView.java   
@Override
public void newVideo(final Video video) {
    play.setGraphic(pauseImage);
    songLength.setText(video.durationProperty().get());
    songTitle.setText(video.getTitle());
    MediaView videoView = Player.instance().getView();
    setVideoView(videoView);
}
项目:boomer-tuner    文件:RootView.java   
private void setVideoView(final MediaView videoView) {
    // FIXME: For Some reason, this is getting called twice
    menu.getSelectionModel().selectedItemProperty().removeListener(rootController.getMenuListener());
    menu.getSelectionModel().select(CategoryType.Videos);
    menu.getSelectionModel().selectedItemProperty().addListener(rootController.getMenuListener());
    Button xButton = new Button("X");
    xButton.setOnAction(e -> {
        rootModel.setSelectedCategory(CategoryType.Videos);
    });

    artwork.setImage(null);
    VBox container = new VBox();
    container.getChildren().add(xButton);
    container.setBackground(new Background(new BackgroundFill(Paint.valueOf("black"), null, null)));
    container.setAlignment(Pos.CENTER);
    double videoWidth = getWidth() - menu.getWidth();
    double videoHeight = getHeight() - controlPane.getHeight() - xButton.getHeight() - menuVBox.getHeight();
    videoView.setFitWidth(videoWidth);
    videoView.setFitHeight(videoHeight);
    videoView.setPreserveRatio(true);
    VBox.setVgrow(videoView, Priority.ALWAYS);
    container.getChildren().add(videoView);
    setCenter(container);

    widthProperty().addListener((o, old, w) -> videoView.setFitWidth(w.doubleValue() - menu.getWidth()));
    heightProperty().addListener((o, old, h) -> videoView.setFitHeight(h.doubleValue() - controlPane.getHeight() - menuVBox.getHeight() - xButton.getHeight()));
}
项目:dragdropfx    文件:DragDropFX.java   
@Override
public Void call(Object p) {
    if(isIgnored(p)){return null;}
    MediaView c = (MediaView) p;
    DnDPrepare.mediaview(c);
    return null;
}
项目:fx-media-catalog    文件:FxMediaCatalog.java   
private void bindContentProgress(MediaView aMediaView, ProgressBar aContentProgress) {
    if (null == aMediaView || null == aContentProgress) return;
    final MediaPlayer mediaPlayer = aMediaView.getMediaPlayer();
    if (null == mediaPlayer) return;
    unbindContentProgress(aMediaView, aContentProgress);
    mContentProgressListener = createContentProgressListener(mediaPlayer, aContentProgress);
    mediaPlayer.currentTimeProperty().addListener(mContentProgressListener);
    bindContentProgressClick(mediaPlayer, aContentProgress);
}
项目:fx-media-catalog    文件:FxMediaCatalog.java   
private void unbindContentProgress(MediaView aMediaView, ProgressBar aContentProgress) {
    unbindContentProgressClick(aContentProgress);
    aContentProgress.setProgress(0);
    if (null == aMediaView || null == mContentProgressListener) return;
    final MediaPlayer mediaPlayer = aMediaView.getMediaPlayer();
    if (null == mediaPlayer) return;
    mediaPlayer.currentTimeProperty().removeListener(mContentProgressListener);
    mContentProgressListener = null;
}
项目:main_carauto_board    文件:VideoController.java   
private void readFileAndSetInitialStateForVideoItem(final File singleFileFromOpenedDialog, final Pane pane)
        throws IOException {
    final String openDialogFilePath = singleFileFromOpenedDialog.getPath();
    LOGGER.info("now opening: " + openDialogFilePath);
    final String path = singleFileFromOpenedDialog.toURI().toASCIIString();
    final Media mediaVideo = new Media(path);
    LOGGER.info("mediaVideo opened " + mediaVideo.getSource());

    mediaPlayer = new MediaPlayer(mediaVideo);
    final MediaView mediaView = new MediaView(mediaPlayer);
    mediaView.setPreserveRatio(true);
    mediaView.setFitHeight(pane.getHeight());
    mediaView.setFitWidth(pane.getWidth());
    pane.getChildren().add(mediaView);
}
项目:main_carauto_board    文件:AudioController.java   
private void readFileAndSetInitialStateForAudioItem(final File singleFileFromOpenedDialog, final VBox vboxPlaylist)
        throws IOException {
    final AudioItem audioItem = new AudioItem();
    final String openDialogFilePath = singleFileFromOpenedDialog.getPath();
    LOGGER.info("Now is opening: " + openDialogFilePath);
    final String baseName = FilenameUtils.getName(openDialogFilePath);
    final String path = singleFileFromOpenedDialog.toURI().toASCIIString();
    final Media mediaSound = new Media(path);
    LOGGER.info("MediaSound " + mediaSound.getSource() + " opened");
    final MediaPlayer mediaPlayer = new MediaPlayer(mediaSound);
    final MediaView mediaView = new MediaView(mediaPlayer);

    setupTimeSliderDependsOnMediaPlayer(audioItem.getSlider(), audioItem.getLabel_for_time(), mediaPlayer);

    audioItem.getLabel_for_name().setText(baseName);
    audioItem.getChildren().addAll(mediaView);

    audioItem.getStop().setOnAction(action -> {
        mediaPlayer.stop();
        alreadyPlaying = false;
    });

    audioItem.getPlay().setOnAction(action -> {
        if (!alreadyPlaying) {
            final String formatted = formatDurationForMedia(mediaSound.getDuration());
            audioItem.getLabel_for_time().setText(formatted);
            mediaPlayer.play();
            alreadyPlaying = true;
        }
    });

    vboxPlaylist.getChildren().add(audioItem);

}
项目:sbc-qsystem    文件:VideoPlayer.java   
/**
 * Доступ к медиаплееру для детельной настройки параметров.
 *
 * @return медиаплеер
 */
public MediaView getMediaView() {
    int k = 0;
    while ((medView == null || medView.getMediaPlayer() == null) && k < 30) {
        k++;
        try {
            Thread.sleep(100);
        } catch (InterruptedException ex) {
        }
    }
    if (medView == null) {
        throw new ClientException("MediaPlayer = NULL");
    }
    return medView;
}
项目:Game-Engine-Vooga    文件:AudioPreviewer.java   
/**
 * Inherited method to initialize previewing of the file
 */
@Override
void preview() {
    Media audio = new Media(Paths.get(this.file.getPath()).toUri().toString());
       MediaPlayer player = new MediaPlayer(audio);
       MediaView mediaView = new MediaView(player);
       HBox mediaControls = new HBox();
       mediaControls.getChildren().addAll(new ButtonMaker().makeButton(PLAY, e -> player.play()),
                                       new ButtonMaker().makeButton(PAUSE, e -> player.pause()),
                                       new ButtonMaker().makeButton(STOP, e -> {
                                           player.stop();
                                           this.stage.close();
                                       }));
       this.group.getChildren().addAll(mediaView, mediaControls);
}
项目:Offline-Streamer    文件:player.java   
@Override
public void start(Stage primaryStage) {

    //Create the video manager
    manager = new VideoManager("lista.txt");

    try {
        manager.initManager();
    } catch (FileNotFoundException | UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    //Create the view and media with the queue in order to loop recursively
    MediaView mv = createMediaView();

    //Setup fullscreen mode
    final DoubleProperty width = mv.fitWidthProperty();
    final DoubleProperty height = mv.fitHeightProperty();
    width.bind(Bindings.selectDouble(mv.sceneProperty(), "width"));
    height.bind(Bindings.selectDouble(mv.sceneProperty(), "height"));
    mv.setPreserveRatio(true);
    StackPane root = new StackPane();
    root.getChildren().add(mv);
    final Scene scene = new Scene(root, 1080, 1920);

    //Set up the window
    scene.setFill(Color.BLACK);
    primaryStage.setScene(scene);
    primaryStage.setTitle("Full Screen Video Player");
    primaryStage.setFullScreen(true);
    primaryStage.show();

    //mv.getMediaPlayer().play();
}
项目:Offline-Streamer    文件:player.java   
private void initMediaPlayer(final MediaView mediaView) {
    counter++;
    if (!manager.isEmpty()) {

        //Print the queue for test
        System.out.println(manager.getQueue());
        //Get the next item from the manager and move the current item to the end
        String filename = manager.getNext();
        final File f = new File("videos/" + filename + ".mp4");
        //Setting up the media to autoplay
        MediaPlayer mediaPlayer = new MediaPlayer(new Media(f.toURI().toString()));
        mediaPlayer.setAutoPlay(true);
        //When the media ends, make a recursive call with the updated queue
        mediaPlayer.setOnEndOfMedia(()->{
            mediaPlayer.dispose();
            initMediaPlayer(mediaView);
        });
        System.out.println("Reproduction #"+counter);
        mediaView.setMediaPlayer(mediaPlayer);
    }else{
        System.out.println("Empty queue");
        //There is no videos in the manager, try again in 10 seconds.
        try {
            Thread.sleep(15000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        initMediaPlayer(mediaView);
    }
}
项目:mars-sim    文件:Dash.java   
public void setup(Scene scene)
{
    this.scene = scene;
    media = new Media(getClass().getResource("video_1.mp4").toExternalForm());
    player = new MediaPlayer(media);
    mediaView = new MediaView(player);
    player.setAutoPlay(true);
    player.setVolume(0);
    getChildren().add(mediaView);
    mediaView.fitWidthProperty().bind(scene.widthProperty());
    mediaView.fitHeightProperty().bind(scene.heightProperty());

}
项目:javafx-dpi-scaling    文件:MediaViewAdjuster.java   
@Override
public Node adjust(Node node, double scale) {
    requireNonNull(node);
    requireValidScale(scale);

    if (node instanceof MediaView) {
        MediaView mediaView = (MediaView) node;
        mediaView.fitWidthProperty().set(mediaView.fitWidthProperty().multiply(scale).get());
        mediaView.fitHeightProperty().set(mediaView.fitHeightProperty().multiply(scale).get());
    }
    return super.adjust(node, scale);
}
项目:javafx-dpi-scaling    文件:AdjusterTest.java   
@Test
public void testGetMediaViewAdjuster() {
    Adjuster adjuster = Adjuster.getAdjuster(MediaView.class);

    assertThat(adjuster, is(instanceOf(MediaViewAdjuster.class)));
    assertThat(adjuster.getNodeClass(), is(sameInstance(MediaView.class)));
}
项目:kotlinfx-ensemble    文件:AlphaMediaPlayer.java   
private static Group createViewer(final MediaPlayer player, final double scale, boolean blur) {
    Group mediaGroup = new Group();

    final MediaView mediaView = new MediaView(player);

    if (blur) {
        BoxBlur bb = new BoxBlur();
        bb.setWidth(4);
        bb.setHeight(4);
        bb.setIterations(1);
        mediaView.setEffect(bb);
    }

    double width = player.getMedia().getWidth();
    double height = player.getMedia().getHeight();

    mediaView.setFitWidth(width);
    mediaView.setTranslateX(-width/2.0); 
    mediaView.setScaleX(-scale);

    mediaView.setFitHeight(height);
    mediaView.setTranslateY(-height/2.0);
    mediaView.setScaleY(scale);

    mediaView.setDepthTest(DepthTest.ENABLE);
    mediaGroup.getChildren().add(mediaView);
    return mediaGroup;
}
项目:fx-player    文件:VideoPane.java   
public MediaView getMediaView() {
    MediaView ret = getMediaView(false);
    if (ret == dummy) {
        ret = null;
    }
    return ret;
}
项目:boomer-tuner    文件:Player.java   
public MediaView getView() {
    return new MediaView(currentPlayer);
}
项目:fx-video-viewer    文件:FxVideoViewer.java   
private void updateBounds(ObservableValue<? extends Bounds> aObservable, Bounds aOldValue, Bounds aNewValue) {
    final MediaView mediaView = getMediaView();
    if (null == mediaView) return;
    final MediaPlayer mediaPlayer = mediaView.getMediaPlayer();
    if (null == mediaPlayer) return;
    final Media media = mediaPlayer.getMedia();
    if (null == media) return;
    //
    final double mediaWidth = media.getWidth();
    final double mediaHeight = media.getHeight();
    final double mediaRatio =  computeRatio(mediaWidth, mediaHeight);
    //
    double windowWidth = aNewValue.getWidth();
    double windowHeight = aNewValue.getHeight();
    //
    if (windowWidth > 0 && windowHeight > 0) {
        //
        double windowRatio = windowWidth / windowHeight;
        //
        double viewWidth;
        double viewHeight;
        //
        double viewX;
        double viewY;
        //
        if (windowRatio > mediaRatio) {
            viewWidth = mediaWidth;
            viewHeight = mediaWidth / windowRatio;
            //
            double extraHeight = mediaHeight - viewHeight;
            //
            viewX = 0;
            viewY = extraHeight / 2;
        }
        else {
            viewWidth = mediaHeight * windowRatio;
            viewHeight = mediaHeight;
            //
            double extraWidth = mediaWidth - viewWidth;
            //
            viewX = extraWidth / 2;
            viewY = 0;
        }
        //
        Rectangle2D viewport = new Rectangle2D(viewX, viewY, viewWidth, viewHeight);
        mediaView.setViewport(viewport);
    }
}
项目:fx-video-viewer    文件:FxVideoViewer.java   
public void openMedia(String aMediaUri) {
    if (null == aMediaUri) return;
    closeMedia();
    //
    Media media = new Media(aMediaUri);
    MediaPlayer mediaPlayer = new MediaPlayer(media);
    MediaView mediaView = new MediaView();
    mediaView.setMediaPlayer(mediaPlayer);
    //
    mediaView.setPreserveRatio(true);
    mediaView.setSmooth(true);
    //
    mediaView.fitHeightProperty().bind(heightProperty());
    mediaView.fitWidthProperty().bind(widthProperty());
    //
    mediaPlayer.volumeProperty().bind(VOLUME);
    mediaPlayer.setOnReady(() -> {
        final Media mediaReady = mediaPlayer.getMedia();
        if (null != mediaReady) {
            updateBoundsForce();
            System.out.println(
                String.format("Open media: %s (%dx%d)",
                aMediaUri,
                mediaReady.getWidth(),
                mediaReady.getHeight()
            ));
        }
    });
    mediaView.setOnMouseClicked((event) -> {
        final MouseButton mouseButton = event.getButton();
        if (MouseButton.SECONDARY == mouseButton) {
            if (Status.PLAYING == mediaPlayer.getStatus()) {
                mediaPlayer.pause();
            }
            else {
                mediaPlayer.play();
            }
        }
        else if (MouseButton.PRIMARY == mouseButton) {
            Duration duration = media.getDuration();
            Duration newPosition = duration.divide(getWidth()).multiply(event.getX());
            mediaPlayer.seek(newPosition);
            if (Status.PLAYING != mediaPlayer.getStatus()) {
                mediaPlayer.play();
            }
        }
       });
    mediaView.setOnScroll((event) -> setVolume(getVolume() + event.getDeltaY() * getVolumeZoom()));
    //
    MEDIA_VIEW.set(mediaView);
    getChildren().add(mediaView);
    updateBoundsForce();
}
项目:Offline-Streamer    文件:player.java   
public MediaView createMediaView(){
    MediaView mediaView = new MediaView();
    initMediaPlayer(mediaView);
    return mediaView;
}