Я хочу иметь две копии одного и того же видео в двух разных JFrames! На данный момент я добился того, что отображаются 2 видео, но только одно «интегрировано» в JFrame. Насколько я читал, он не полностью разработан для интеграции со всеми копиями. Я ошибаюсь в этом? Также есть ли другой способ добиться того, чего я хочу?
Это мой код, воспроизводящий материал в 2 JFrames, а также 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());
}
}
}