我正在制作两个程序。
一个是执行mjpg-streamer的python 3程序,另一个是播放由mjpg-streamer传输到网络的视频的java程序。
Python 3程序是在raspberry-pi 3中制作的,并通过网络摄像头传输视频。
我使用JFrame和vlcj在Java swing中播放视频,并且效果很好。
例如,当我使用python 3执行mjpg-streamer然后单击带有Java的JButton时,JFrame通过从网址获取视频来显示视频,然后,如果我停止mjpg-streamer,JFrame也将停止显示视频(显示为黑色屏幕)。
但是,到目前为止,当我再次执行mjpg-streamer时,它不再显示视频了。我必须关闭JFrame并再次单击JButton才能查看视频。
当我停止执行mjpg-streamer之后执行mjpg-streamer时,我想使JFrame显示视频而不关闭JFrame并再次执行它。
因此,我尝试使用mouselistener或keyboardlistener刷新它,但是没有用。我认为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
}
});