Я делаю две программы.
Одна - это программа на python 3, которая выполняет mjpg-streamer, а другая - Java-программу, которая воспроизводит видео, передаваемое в Интернет с помощью mjpg-streamer.
Программа Python 3 сделана в raspberry-pi 3 и передает видео через веб-камеру.
Я использую JFrame и vlcj для воспроизведения видео в java swing, и она хорошо работает.
Например, когда явыполнить mjpg-streamer с python 3 и затем щелкнуть JButton с java, JFrame показывает видео, получая видео с веб-адреса, а затем, если я остановлю mjpg-streamer, JFrame также прекратит показывать видео (показывает черный экран).
Но когда я снова запускаю mjpg-streamer после всего, что я сделал до сих пор, он больше не показывает видео ... Я должен закрыть JFrame и снова нажать JButton, чтобы посмотреть видео.
Я хочу сделатьJFrame показывает видео без закрытия JFrame и его повторного выполнения при выполнении mjpg-streamer после прекращения выполнения mjpg-streamer.
Поэтому я попытался обновить его с помощью mouselistener или keylllisterer но это не сработало.Я думаю, что EmbeddedMediaPlayerComponent занимает пространство каждого JFrame.
Надеюсь, вы, ребята, помогите мне.
Спасибо за чтение!
EXIT.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
EmbeddedMediaPlayerComponent component = new EmbeddedMediaPlayerComponent();
final JFrame fs = new JFrame("Parking Lot 1");
fs.setContentPane(component);
fs.setBounds(100, 100, 800, 600);
fs.setResizable(false);
fs.setLocationRelativeTo(null);
fs.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
component.release();
fs.setVisible(false);
fs.dispose();
}
});
fs.setVisible(true);
component.mediaPlayer().media().play("http://IP:8090/?action=stream"); // sorry IP is my ip
}
});