String[] libvlcArgs = {...add options here...}; MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(libvlcArgs); FullScreenStrategy fullScreenStrategy = new DefaultFullScreenStrategy(mainFrame); EmbeddedMediaPlayer mediaPlayer = mediaPlayerFactory.newMediaPlayer(fullScreenStrategy); String[] standardMediaOptions = {"video-filter=logo", "logo-file=vlcj-logo.png", "logo-opacity=25"}; mediaPlayer.setStandardMediaOptions(standardMediaOptions); mediaPlayer.addMediaPlayerEventListener(new MediaPlayerEventAdapter() {...add implementation here...}); Canvas videoSurface = new Canvas(); mediaPlayer.setVideoSurface(videoSurface); String mediaPath = "/path/to/some/movie.mpg"; String[] mediaOptions = {}; mediaPlayer.playMedia(mediaPath, mediaOptions); // Do some interesting things in the application ... mediaPlayer.release(); mediaPlayerFactory.release();
private File vlcInstallPath = new File("C:\\Program Files\\VideoLAN\\VLC"); private EmbeddedMediaPlayer player; public static JButton jb = new JButton("STOP"); public PlayerPanel() { NativeLibrary.addSearchPath("libvlc", vlcInstallPath.getAbsolutePath()); EmbeddedMediaPlayerComponent videoCanvas = new EmbeddedMediaPlayerComponent(); this.setLayout(new BorderLayout()); this.add(videoCanvas, BorderLayout.CENTER); this.add(jb, BorderLayout.SOUTH); this.player = videoCanvas.getMediaPlayer(); } public void play(String media) { player.prepareMedia(media); player.parseMedia(); player.play(); } public void stop() { player.stop(); }
public void play(String media) { player.prepareMedia(media); player.parseMedia(); player.play(); } }
Canvas canvas = new Canvas(); MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(); CanvasVideoSurface videoSurface = mediaPlayerFactory.newVideoSurface(canvas); EmbeddedMediaPlayer mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer(); mediaPlayer.setVideoSurface(videoSurface); mediaPlayer.playMedia(String with the name of the file);
public FullScreenMultiMediaTest(String[] args) { Canvas c = new Canvas(); c.setBackground(Color.black); p.setLayout(new BorderLayout()); p.add(c, BorderLayout.CENTER); JFrame f = new JFrame(); f.setIconImage(new ImageIcon(getClass().getResource("/icons/vlcj-logo.png")).getImage()); f.setContentPane(p); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(800, 600); mediaPlayer.fullScreen().strategy(new ExclusiveModeFullScreenStrategy(f)); mediaPlayer.videoSurface().set(mediaPlayerFactory.videoSurfaces().newVideoSurface(c)); f.setVisible(true); mediaPlayer.fullScreen().set(true); mediaPlayer.media().play(files.get(0).getAbsolutePath());
public TestPlayer() { videoSurface = new Canvas(); vlcArgs.add("--quiet"); mediaPlayer.fullScreen().strategy(fullScreenStrategy); mediaPlayer.videoSurface().set(mediaPlayerFactory.videoSurfaces().newVideoSurface(videoSurface)); mediaPlayer.input().enableKeyInputHandling(false); mediaPlayer.input().enableMouseInputHandling(false); mediaPlayer.media().setRepeat(true); equalizerFrame.setVisible(true); mediaPlayer.events().addMediaPlayerEventListener(new TestPlayerMediaPlayerEventListener()); mediaPlayer.logo().setFile(logoFile.getAbsolutePath()); mediaPlayer.logo().setOpacity(0.5f); mediaPlayer.logo().setLocation(10, 10); mediaPlayer.logo().enable(true); mediaPlayer.marquee().setText("vlcj java bindings for vlc"); mediaPlayer.marquee().setSize(40); mediaPlayer.marquee().setOpacity(95); mediaPlayer.marquee().setColour(Color.white); mediaPlayer.marquee().setTimeout(5000); mediaPlayer.marquee().setLocation(50, 120); mediaPlayer.marquee().enable(true);
EmbeddedMediaPlayerComponent mediaPlayerComponent = new EmbeddedMediaPlayerComponent(); EmbeddedMediaPlayer embeddedMediaPlayer = mediaPlayerComponent.getMediaPlayer(); vlcArgs.add("--no-snapshot-preview"); MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(vlcArgs.toArray(new String[vlcArgs.size()])); mediaPlayerFactory.setUserAgent("vlcj test player"); embeddedMediaPlayer.setVideoSurface(mediaPlayerFactory.newVideoSurface(videoSurface)); embeddedMediaPlayer.setPlaySubItems(true); JFrame mainFrame = new JFrame(); mainFrame.setLayout(new BorderLayout()); mainFrame.setBackground(Color.black); mainFrame.add(videoSurface, BorderLayout.CENTER); mainFrame.add(controlsPanel, BorderLayout.SOUTH); mainFrame.setVisible(true); embeddedMediaPlayer.playMedia("tmp.mp4");
public Win32FullScreenPlayerTest(String mrl) { frame = new JFrame("Win32 Full Screen Strategy"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocation(100, 100); frame.setSize(1200, 800); frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { mediaPlayerComponent.mediaPlayer().controls().stop(); mediaPlayerComponent.release(); } }); mediaPlayerComponent = embeddedMediaPlayerSpec() .withFullScreenStrategy(new Win32FullScreenStrategy(frame)) .embeddedMediaPlayer(); frame.setContentPane(mediaPlayerComponent); frame.setVisible(true); mediaPlayerComponent.mediaPlayer().media().play(mrl); mediaPlayerComponent.mediaPlayer().fullScreen().set(true); }
Canvas canvas = new Canvas(); canvas.setBackground(Color.black); JFrame f = new JFrame(); f.setBounds(100, 100, 800, 600); f.getContentPane().setLayout(new BorderLayout()); f.getContentPane().add(canvas, BorderLayout.CENTER); f.setVisible(true); mediaPlayer.videoSurface().set(videoSurface); mediaPlayer.events().addMediaPlayerEventListener(new MediaPlayerEventAdapter() { @Override public void mediaPlayerReady(MediaPlayer mediaPlayer) { boolean started = mediaPlayer.media().play(mrl); System.out.println("started=" + started);
final JFrame frame = new JFrame("vlcj Callback Media Player Component Test"); mediaPlayerComponent.mediaPlayer().overlay().enable(true); frame.setBackground(Color.black); frame.setContentPane(mediaPlayerComponent); frame.setLocation(100, 100);
MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(args); EmbeddedMediaPlayer mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer(); CanvasVideoSurface videoSurface = mediaPlayerFactory.newVideoSurface(canvas); mediaPlayer.setVideoSurface(videoSurface); JFrame f = new JFrame("vlcj duplicate output test"); f.add(canvas); f.setSize(800, 600); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); mediaPlayer.playMedia(media, options, ":no-sout-rtp-sap",
mediaPlayerComponent.mediaPlayer().input().enableKeyInputHandling(false); mediaPlayerComponent.mediaPlayer().input().enableMouseInputHandling(false); mainFrame = new JFrame("vlcj input listener test"); mainFrame.setBounds(50, 50, 800, 500); mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mainFrame.setContentPane(mediaPlayerComponent); mainFrame.addWindowListener(new WindowAdapter() {
/** * Construct an embedded media player component. * <p> * Any constructor parameter may be <code>null</code>, in which case a reasonable default will be used. * * @param mediaPlayerFactory media player factory * @param videoSurfaceComponent heavyweight video surface component, will become part of this components UI layout * @param fullScreenStrategy full screen strategy * @param inputEvents keyboard/mouse input event configuration * @param overlay heavyweight overlay */ public EmbeddedMediaPlayerComponent(MediaPlayerFactory mediaPlayerFactory, Component videoSurfaceComponent, FullScreenStrategy fullScreenStrategy, InputEvents inputEvents, Window overlay) { this.ownFactory = mediaPlayerFactory == null; this.mediaPlayerFactory = initMediaPlayerFactory(mediaPlayerFactory); this.videoSurfaceComponent = initVideoSurfaceComponent(videoSurfaceComponent); this.mediaPlayer = this.mediaPlayerFactory.mediaPlayers().newEmbeddedMediaPlayer(); this.mediaPlayer.videoSurface().set(this.mediaPlayerFactory.videoSurfaces().newVideoSurface(this.videoSurfaceComponent)); this.mediaPlayer.fullScreen().strategy(fullScreenStrategy); this.mediaPlayer.overlay().set(overlay); this.mediaPlayer.events().addMediaPlayerEventListener(this); this.mediaPlayer.events().addMediaEventListener(this); setBackground(Color.black); setLayout(new BorderLayout()); add(this.videoSurfaceComponent, BorderLayout.CENTER); initInputEvents(inputEvents); onAfterConstruct(); }
mainFrame.setLayout(new BorderLayout()); cp.setLayout(new BorderLayout()); Canvas vs = new Canvas(); vs.setBackground(Color.black); cp.add(vs, BorderLayout.CENTER); mediaPlayer.videoSurface().set(factory.videoSurfaces().newVideoSurface(vs)); mediaPlayer.media().setRepeat(false); mediaPlayer.events().addMediaPlayerEventListener(new MediaPlayerEventAdapter() { @Override public void buffering(MediaPlayer mediaPlayer, float newCache) {
f.setLayout(new BorderLayout()); Canvas vs = new Canvas(); f.add(vs, BorderLayout.CENTER); f.setVisible(true); mediaPlayer.videoSurface().set(factory.videoSurfaces().newVideoSurface(vs)); mediaPlayer.media().play(file.getAbsolutePath()); Thread.sleep(500); mediaPlayer.chapters().setChapter(4); Thread.sleep(2000); mediaPlayer.controls().stop(); mediaPlayer.release(); factory.release();
f.setBackground(Color.black); f.setLayout(new BorderLayout()); Canvas vs = new Canvas(); f.add(vs, BorderLayout.CENTER); f.setVisible(true); mediaPlayer.videoSurface().set(factory.videoSurfaces().newVideoSurface(vs)); mediaPlayer.overlay().set(new Overlay(f)); mediaPlayer.overlay().enable(true); mediaPlayer.media().play(mrl);
contentPane.setLayout(new BorderLayout()); contentPane.add(videoContentPane, BorderLayout.CENTER); contentPane.setTransferHandler(new MediaTransferHandler() { bottomPane.setLayout(new BorderLayout()); positionPane = new PositionPane(mediaPlayerComponent.getMediaPlayer()); bottomControlsPane.add(positionPane, "grow, wrap"); mediaPlayerComponent.getMediaPlayer().addMediaPlayerEventListener(new MediaPlayerEventAdapter() { mouseMovementDetector = new VideoMouseMovementDetector(mediaPlayerComponent.getVideoSurface(), 500, mediaPlayerComponent);
mainFrame.setLayout(new BorderLayout()); mainFrame.setBackground(Color.black); mainFrame.add(contentPane, BorderLayout.CENTER); player.fullScreen().strategy(fullScreenStrategy); PlayerInstance playerInstance = new PlayerInstance(player); players.add(playerInstance); playerPanel.setLayout(new BorderLayout()); playerPanel.setBorder(new LineBorder(Color.white, 2)); playerPanel.add(playerInstance.videoSurface());
public PlayerInstance(EmbeddedMediaPlayer mediaPlayer) { this.mediaPlayer = mediaPlayer; this.videoSurface = new Canvas(); this.videoSurface.setBackground(Color.black); mediaPlayer.events().addMediaPlayerEventListener(this); }
public static void Play(File AudioFile){ if (!LibVLCLoader.Loaded) LibVLCLoader.loadLibVLC(); MediaPlayerFactory MPF = new MediaPlayerFactory( "--video-title=vlcj video output", "--no-snapshot-preview", "--quiet", "--quiet-synchro", "--sub-filter=logo:marq", "--intf=dummy" ); EmbeddedMediaPlayer EMP = MPF.newEmbeddedMediaPlayer(); if (EMP.prepareMedia(AudioFile.getAbsolutePath())){ EMP.addMediaPlayerEventListener(new MediaPlayerEventAdapter(){ @Override public void subItemFinished(MediaPlayer p, int i){ EMP.release(); MPF.release(); } }); Platform.runLater(() -> EMP.play()); } else{ EMP.release(); MPF.release(); } }