Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有嵌入式VLCJ视频的新窗口_Java_Video_Canvas_Vlcj - Fatal编程技术网

Java 带有嵌入式VLCJ视频的新窗口

Java 带有嵌入式VLCJ视频的新窗口,java,video,canvas,vlcj,Java,Video,Canvas,Vlcj,我有一个jpanel,在画布内使用VLCJ播放嵌入式视频 嗯,当播放视频时,它在画布中正确播放,但也在一个新窗口中,我不想要一个新窗口 我得到这个错误,但它播放得很好(除了我不想要一个新窗口,只需要画布) [0bf590e8]主vout显示错误:未能在顶部设置 这是我代码的一部分 NativeLibrary.addSearchPath("libvlc","C:\\Program Files (x86)\\VideoLAN\\VLC"); MediaPlayerFactor

我有一个jpanel,在画布内使用VLCJ播放嵌入式视频

嗯,当播放视频时,它在画布中正确播放,但也在一个新窗口中,我不想要一个新窗口

我得到这个错误,但它播放得很好(除了我不想要一个新窗口,只需要画布)

[0bf590e8]主vout显示错误:未能在顶部设置

这是我代码的一部分

        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");

有什么帮助吗?

有必要使用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");

使用EmbeddedMediaPlayerComponent很方便,但不是必需的。如果播放视频时vlc没有有效的窗口句柄,它将打开本机窗口。因此,不知何故,您的画布可能已变得无效。您是否尝试过vlcj提供的任何测试播放器来比较结果?