VLCJ Creating Multiple video panels

白昼怎懂夜的黑 提交于 2019-12-03 17:18:41

I am able to achieve by this

EmbeddedMediaPlayer mediaPlayer[] = new EmbeddedMediaPlayer[Num_Video];

and then in the loop

factory[i] = new MediaPlayerFactory();
mediaPlayer[i] = factory[i].newEmbeddedMediaPlayer();
mediaPlayer[i].setVideoSurface(factory[i].newVideoSurface(videoCanvas[i]));
mediaPlayer[i].setPlaySubItems(true);

You can do:

for (int i = 0; i < numVideo; i++) {
    vidPanel[i] = new JPanel();
    videoCanvas[i] = new Canvas();
    vidPanel[i].setPreferredSize(new Dimension(larguraVideo, alturaVideo));
    vidPanel[i].setBackground(Color.black);
    vidPanel[i].setLayout(new BorderLayout());
    videoCanvas[i].setBackground(Color.black);
    vidPanel[i].add(videoCanvas[i], BorderLayout.CENTER);
    mainPanel.add(vidPanel[i]);

    factory[i] = new MediaPlayerFactory();
    mediaPlayer[i] = factory[i].newEmbeddedMediaPlayer();
    mediaPlayer[i].setVideoSurface(factory[i].newVideoSurface(videoCanvas[i]));
    mediaPlayer[i].setPlaySubItems(true);
    mediaPlayer[i].addMediaPlayerEventListener(new MediaPlayerEventAdapter() {
        @Override
        public void mediaSubItemAdded(MediaPlayer mediaPlayer, libvlc_media_t subItem) {
            List<String> items = mediaPlayer.subItems();
            System.out.println(items);
        }
    });
}

Tell me: after all this time, how is your code?

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!