gpt4 book ai didi

java - 在多个窗口中使用克隆的 VLCJ

转载 作者:行者123 更新时间:2023-12-01 09:37:57 25 4
gpt4 key购买 nike

我想在两个不同的 JFrame 中拥有同一视频的两个副本!目前,我已经实现了 2 个视频正在显示,但只有一个视频“集成”到 JFrame 中。据我所读,它还没有完全开发出来,无法与所有副本集成。我错了吗?还有其他方法可以实现我想要的吗?

这是我在 2 个 JFrame 中播放内容的代码,为了简单起见,还有一个 JFileChooser。

public class MyMultiDisplay
{
List <String> argsList;
MediaPlayerFactory mediaPlayerFactory;
EmbeddedMediaPlayer player;
JFrame frame1;
JFrame frame2;

public static void main(String[] args)
{
new NativeDiscovery().discover();

SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new MyStart();
}
});
}

public MyMultiDisplay()
{
frame1 = new JFrame("My First Media Player");
frame1.setBounds(100, 100, 600, 400);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2 = new JFrame("My Second Media Player");
frame2.setBounds(700, 500, 600, 400);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
argsList = new ArrayList <String>();
argsList.add("--video-splitter=clone");
argsList.add("--clone-count=2");
mediaPlayerFactory = new MediaPlayerFactory(argsList);
player = mediaPlayerFactory.newEmbeddedMediaPlayer();
Canvas canvas = new Canvas();
player.setVideoSurface(mediaPlayerFactory.newVideoSurface(canvas));
frame1.add(canvas);
frame1.setVisible(true);
frame2.setVisible(true);
JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION)
{
player.playMedia(chooser.getSelectedFile().getAbsolutePath());
}
}
}

最佳答案

这是不可能的。

LibVLC API 以及 vlcj 不支持传递多个 native 窗口 ID 来进行嵌入。

关于java - 在多个窗口中使用克隆的 VLCJ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38693195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com