2013-05-16 2 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 откроет собственное окно, если оно не имеет действительного дескриптора окна при воспроизведении видео. Так как-то ваш Canvas, возможно, стал недействительным. Пробовали ли вы какие-либо из тестируемых игроков с 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

Смежные вопросы