Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

63
LINES

< > BotCompany Repo | #1003707 // JavaFX: Video, Fast, Auto-Resizing, No Buttons

JavaX source code [tags: use-pretranspiled] - run with: x30.jar

Libraryless. Click here for Pure Java version (110L/2K/4K).

!759

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
import javafx.scene.layout.*;
import javafx.geometry.Insets;
import javafx.scene.control.Button;
import javafx.beans.property.*;
import javafx.beans.binding.*;
import javafx.scene.paint.Color;

public class main extends Application {
  p {
    System.setProperty("prism.forceGPU", "true");
    System.setProperty("prism.verbose", "true");
    
    fixContextClassLoader();
    launch();
  }

  public void start(Stage stage) {
    // Create and set the Scene.
    // Numbers are window size (content is not scaled)
    double w = 540, h = 209;
    Scene scene = new Scene(new Group(), w, h, Color.BLACK);
    stage.setScene(scene);

    // Name and display the Stage.
    stage.setTitle("Hello Media");
    stage.show();

    // Create the media source.
    //String source = getParameters().getRaw().get(0);
    String source = "/media/CE009E97009E865D__/Downloads/Oblivion (2013)/Oblivion.2013.mp4";
    Media media = null;
    try {
      media = new Media(new File(source).toURI().toURL().toString());
    } catch (MalformedURLException e) {
      throw new RuntimeException(e);
    }

    // Create the player and set to play automatically.
    MediaPlayer mediaPlayer = new MediaPlayer(media);
    mediaPlayer.setAutoPlay(true);

    // Create the media view.
    MediaView mediaView = new MediaView(mediaPlayer);
    
    // Resize Hack
    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);
  
    ((Group) scene.getRoot()).getChildren().add(mediaView);
  }
}

Author comment

Began life as a copy of #1003706

download  show line numbers  debug dex  old transpilations   

Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, ddnzoavkxhuk, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt

1 comment(s) hidden. show

Snippet ID: #1003707
Snippet name: JavaFX: Video, Fast, Auto-Resizing, No Buttons
Eternal ID of this version: #1003707/1
Text MD5: d4d17efad063af9676abab30e22abba6
Transpilation MD5: 44a8dbb4b827045c539f081b1732e15d
Author: stefan
Category: javax / javafx
Type: JavaX source code
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2016-07-26 00:33:22
Source code size: 2005 bytes / 63 lines
Pitched / IR pitched: No / No
Views / Downloads: 856 / 904
Referenced in: [show references]