why i m getting libvlc_Error while playing video in Java ?
Posted: 18 Jul 2012 16:39
Hi , i m new to vlcj i m using "vlcj-2.1.0" for my Java application ..at first when i run this simple code
it throws an exception for lbvlc and libvlc_core is not found then i added this code as a Virtual machine argument
then the exception was fixed but now the problem is i m getting a blank black screen (JFrame) and video is not playing , when i add listener i come to know that it throws an error saying
I have no clue what it means please help , i m using windows 7 , AMD cpu
thanks
Code: Select all
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package flvjdemo;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import uk.co.caprica.vlcj.binding.internal.libvlc_media_t;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.player.MediaPlayer;
import uk.co.caprica.vlcj.player.MediaPlayerEventListener;
public class FLVJDemo implements MediaPlayerEventListener{
private JFrame frame;
private EmbeddedMediaPlayerComponent embeddedMediaPlayerComponent;
public FLVJDemo() {
frame = new JFrame("test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
embeddedMediaPlayerComponent = new EmbeddedMediaPlayerComponent();
frame.setContentPane( embeddedMediaPlayerComponent );
frame.setSize( new Dimension( 500,400 ));
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public void startPlayer( String mri ){
//embeddedMediaPlayerComponent.getMediaPlayer().playMedia(mri, "" );
MediaPlayer mediaPlayer = embeddedMediaPlayerComponent.getMediaPlayer();
//boolean playMedia = mediaPlayer.playMedia(mri, "");
// mediaPlayer.addMediaOptions("video-filter=sharpen{sigma=1.5}");
mediaPlayer.addMediaPlayerEventListener(this);
boolean startMedia = mediaPlayer.startMedia(mri, "");
System.out.println( startMedia);
mediaPlayer.play();
}
public static void main(String[] args) {
// TODO code application logic here
SwingUtilities.invokeLater( new Runnable() {
@Override
public void run() {
new flvjdemo.FLVJDemo().startPlayer("file://C:/Users/Admin/Desktop/imgToVideo/in/F8--Mark-Zuckerberg-unveils-Facebook-Timeline[www.savevid.com].flv");
}
});
}
@Override
public void mediaChanged(MediaPlayer mediaPlayer, libvlc_media_t media, String mrl) {
System.out.println("media changed");
}
@Override
public void opening(MediaPlayer mediaPlayer) {
System.out.println("media openeing");
}
@Override
public void buffering(MediaPlayer mediaPlayer, float newCache) {
System.out.println("media buffering...");
}
@Override
public void playing(MediaPlayer mediaPlayer) {
System.out.println("playing");
}
@Override
public void paused(MediaPlayer mediaPlayer) {
}
@Override
public void stopped(MediaPlayer mediaPlayer) {
}
@Override
public void forward(MediaPlayer mediaPlayer) {
}
@Override
public void backward(MediaPlayer mediaPlayer) {
}
@Override
public void finished(MediaPlayer mediaPlayer) {
System.out.println("finished playing");
}
@Override
public void timeChanged(MediaPlayer mediaPlayer, long newTime) {
}
@Override
public void positionChanged(MediaPlayer mediaPlayer, float newPosition) {
}
@Override
public void seekableChanged(MediaPlayer mediaPlayer, int newSeekable) {
}
@Override
public void pausableChanged(MediaPlayer mediaPlayer, int newSeekable) {
}
@Override
public void titleChanged(MediaPlayer mediaPlayer, int newTitle) {
}
@Override
public void snapshotTaken(MediaPlayer mediaPlayer, String filename) {
}
@Override
public void lengthChanged(MediaPlayer mediaPlayer, long newLength) {
}
@Override
public void videoOutput(MediaPlayer mediaPlayer, int newCount) {
System.err.println( mediaPlayer.getChapter() + " " + newCount );
}
@Override
public void error(MediaPlayer mediaPlayer) {
System.err.println( "err " + mediaPlayer.getMediaState() + " "
+ mediaPlayer.getVideoDescriptions());
}
@Override
public void mediaMetaChanged(MediaPlayer mediaPlayer, int metaType) {
}
@Override
public void mediaSubItemAdded(MediaPlayer mediaPlayer, libvlc_media_t subItem) {
}
@Override
public void mediaDurationChanged(MediaPlayer mediaPlayer, long newDuration) {
System.out.println("media durtaion changed " + newDuration);
}
@Override
public void mediaParsedChanged(MediaPlayer mediaPlayer, int newStatus) {
}
@Override
public void mediaFreed(MediaPlayer mediaPlayer) {
}
@Override
public void mediaStateChanged(MediaPlayer mediaPlayer, int newState) {
}
@Override
public void newMedia(MediaPlayer mediaPlayer) {
}
@Override
public void subItemPlayed(MediaPlayer mediaPlayer, int subItemIndex) {
}
@Override
public void subItemFinished(MediaPlayer mediaPlayer, int subItemIndex) {
}
@Override
public void endOfSubItems(MediaPlayer mediaPlayer) {
}
}
Code: Select all
-Djna.library.path="C:\Program Files\VideoLAN\VLC"
Code: Select all
libvlc_Error
thanks