2013-05-16 65 views
0

我有一個jpanel,使用VLCJ在畫布內播放嵌入的視頻。嵌入式VLCJ視頻的新窗口

那麼,當播放視頻時,它在畫布中正確播放,但在新窗口中也是如此,我不想要一個新窗口。

我得到這個錯誤卻一次次完美(除非我不想一個新windown,只是畫布)

[0bf590e8] main vout display error: Failed to set on top

這是我的我的代碼

 NativeLibrary.addSearchPath("libvlc","C:\\Program Files (x86)\\VideoLAN\\VLC"); 
    MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(); 
    CanvasVideoSurface videoSurface = mediaPlayerFactory.newVideoSurface(canvasVideo); 
    EmbeddedMediaPlayer mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer(); 
    mediaPlayer.setVideoSurface(videoSurface); 

    mediaPlayer.playMedia("C:\\juego.mp4"); 

任何部分請幫助?

+0

如果視頻播放時沒有有效的窗口句柄,vlc將打開一個本地窗口。所以不知何故你的畫布可能已經失效。你有沒有嘗試用vlcj提供的任何測試球員來比較結果? – caprica

回答

0

有必要使用EmbeddedMediaPlayerComponent。例如

JFrame frame = new JFrame("Test vlcj toolkit"); 
mediaPlayerComponent = new EmbeddedMediaPlayerComponent(); 
frame.setContentPane(mediaPlayerComponent); 
frame.setSize(1050, 600); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setVisible(true); 
mediaPlayerComponent.getMediaPlayer().playMedia("C:\\juego.mp4"); 
+0

使用EmbeddedMediaPlayerComponent很方便,但不是必需的。 – caprica