필자는 아래와 같이 VLCj 기반 비디오 플레이어를 완벽하게 갖추고 있습니다.vlcj JPanel drawPlayerComponent
작동 코드 (예를 들어 사각형을) 비디오를 통해 그릴
는 내가 필요로하는 것은 비디오를 통해 끌어하기 위해 코드에
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.discovery.NativeDiscovery;
/**
* Minimal quick-start example.
*/
public class Example1 {
private final JFrame frame;
private final EmbeddedMediaPlayerComponent mediaPlayerComponent;
public static void main(String[] args) {
new NativeDiscovery().discover();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Example1().start("file:///C:/video.avi");
}
});
}
public Example1() {
mediaPlayerComponent = new EmbeddedMediaPlayerComponent();
frame = new JFrame("vlcj quickstart");
frame.setLocation(50, 50);
frame.setSize(1400, 800);
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(mediaPlayerComponent, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(320, 240));
frame.pack();
frame.setVisible(true);
}
private void start(String mrl) {
mediaPlayerComponent.getMediaPlayer().playMedia(mrl);
}
}
수정. 이를 위해 MyJPanel을 만들었습니다. 그리고 대신 라인의
class MyPanel extends JPanel {
private EmbeddedMediaPlayerComponent comp;
public MyPanel(EmbeddedMediaPlayerComponent mediaPlayerComponent) {
add(this.comp = mediaPlayerComponent);
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawRect(10, 10, 200, 100);
}
}
:
frame.getContentPane().add(mediaPlayerComponent, BorderLayout.CENTER);
나는 추가 :
frame.getContentPane().add(new MyPanel(mediaPlayerComponent), BorderLayout.CENTER);
문제 :
MyPanel를 추가 한 후 나는이 오류가 무엇입니까 :없이 어떤 동영상이 표시됩니다.
[0000000029d930e0] avi demux error: no key frame set for track 0
[0000000029e035d0] core vout display error: Failed to set on top
['Marquee] (http://capricasoftware.co.uk/#/projects/vlcj/tutorial/marquee)를 보았습니까? – trashgod