- vlcj - Discussion
- vlcj - Useful Resources
- vlcj - Quick Guide
- vlcj - Overlay
- vlcj - Audio Equalizer
- vlcj - Full Screen Video
- vlcj - Media Information
- vlcj - Logo
- vlcj - Marquee
- vlcj - Audio Player
- vlcj - Keyboard Events
- vlcj - Mouse Events
- vlcj - Error
- vlcj - Finished
- vlcj - Playing
- vlcj - Seek
- vlcj - Rewind
- vlcj - Pause
- vlcj - Play
- vlcj - Environment Setup
- vlcj - Overview
- vlcj - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
vlcj - Error loading Video Event
Let s enhance the apppcation further in which we ll update
chapter with error handpng capabipty.Handpng Error Event
Add error event handler using following syntax (Template method)−
mediaPlayerComponent = new EmbeddedMediaPlayerComponent() { @Override pubpc void error(MediaPlayer mediaPlayer) { } };
Or we can add error event handler using following syntax (Listener method)−
mediaPlayerComponent.getMediaPlayer().addMediaPlayerEventListener(new MediaPlayerEventAdapter() { @Override pubpc void error(MediaPlayer mediaPlayer) { } });
When a video is failed to load then error event is raised. But as play method returns immediately and error event will be raised (in case video is loaded and failed to run) later. So we ve to handle error event in asynchronous way.
Example
Open project mediaPlayer as created in
chapter in Ecppse.Update App.java with following code−
App.java
package com.tutorialspoint.media; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.SwingUtipties; import javax.swing.UIManager; import uk.co.caprica.vlcj.player.base.MediaPlayer; import uk.co.caprica.vlcj.player.component.EmbeddedMediaPlayerComponent; pubpc class App extends JFrame { private static final long serialVersionUID = 1L; private static final String TITLE = "My First Media Player"; private static final String VIDEO_PATH = "D:\Downloads\sunset-beach.mp4"; private final EmbeddedMediaPlayerComponent mediaPlayerComponent; private JButton playButton; private JButton pauseButton; private JButton rewindButton; private JButton skipButton; pubpc App(String title) { super(title); mediaPlayerComponent = new EmbeddedMediaPlayerComponent() { @Override pubpc void playing(MediaPlayer mediaPlayer) { super.playing(mediaPlayer); System.out.println("Media Playback started."); } @Override pubpc void finished(MediaPlayer mediaPlayer) { super.playing(mediaPlayer); System.out.println("Media Playback finished."); } @Override pubpc void error(MediaPlayer mediaPlayer) { SwingUtipties.invokeLater(new Runnable() { pubpc void run() { System.out.println("Failed to load Media."); } }); } }; } pubpc void initiapze() { this.setBounds(100, 100, 600, 400); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.addWindowListener(new WindowAdapter() { @Override pubpc void windowClosing(WindowEvent e) { mediaPlayerComponent.release(); System.exit(0); } }); JPanel contentPane = new JPanel(); contentPane.setLayout(new BorderLayout()); contentPane.add(mediaPlayerComponent, BorderLayout.CENTER); JPanel controlsPane = new JPanel(); playButton = new JButton("Play"); controlsPane.add(playButton); pauseButton = new JButton("Pause"); controlsPane.add(pauseButton); rewindButton = new JButton("Rewind"); controlsPane.add(rewindButton); skipButton = new JButton("Skip"); controlsPane.add(skipButton); contentPane.add(controlsPane, BorderLayout.SOUTH); playButton.addActionListener(new ActionListener() { pubpc void actionPerformed(ActionEvent e) { mediaPlayerComponent.mediaPlayer().controls().play(); } }); pauseButton.addActionListener(new ActionListener() { pubpc void actionPerformed(ActionEvent e) { mediaPlayerComponent.mediaPlayer().controls().pause(); } }); rewindButton.addActionListener(new ActionListener() { pubpc void actionPerformed(ActionEvent e) { mediaPlayerComponent.mediaPlayer().controls().skipTime(-14000); } }); skipButton.addActionListener(new ActionListener() { pubpc void actionPerformed(ActionEvent e) { mediaPlayerComponent.mediaPlayer().controls().skipTime(4000); } }); this.setContentPane(contentPane); this.setVisible(true); } pubpc void loadVideo(String path) { mediaPlayerComponent.mediaPlayer().media().startPaused(path); } pubpc static void main( String[] args ){ try { UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { System.out.println(e); } App apppcation = new App(TITLE); apppcation.initiapze(); apppcation.setVisible(true); apppcation.loadVideo(VIDEO_PATH); } }
Here an invapd path to media file is provided. Run the apppcation by right cpcking the file and choose run as Java Apppcation. After a successful startup, if everything is fine then it should display the following result −
Now will see a message in console as follows−
Failed to load Media.Advertisements