Tôi đã đọc this SO thread và khi tôi đã cố gắng sử dụng mã với một số thay đổi, tôi chỉ nhận được một cửa sổ đen, có thể một số cho tôi biết tôi đang làm gì sai ở đây, tôi chỉ có một lớp học có chức năng chính:Nhúng VLCJ vào JPanel
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import com.sun.jna.NativeLibrary;
import uk.co.caprica.vlcj.player.MediaPlayerFactory;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
import uk.co.caprica.vlcj.player.embedded.videosurface.CanvasVideoSurface;
import uk.co.caprica.vlcj.runtime.windows.WindowsCanvas;
public class Canvas_Demo {
// Create a media player factory
private MediaPlayerFactory mediaPlayerFactory;
// Create a new media player instance for the run-time platform
private EmbeddedMediaPlayer mediaPlayer;
private JPanel panel;
private WindowsCanvas canvas;
private JFrame frame;
//Constructor
public Canvas_Demo(String url){
//Creating a panel that while contains the canvas
panel = new JPanel();
panel.setBackground(Color.BLACK);
//Creating the canvas and adding it to the panel :
canvas = new WindowsCanvas();
panel.add(canvas);
panel.revalidate();
panel.repaint();
//Creation a media player :
mediaPlayerFactory = new MediaPlayerFactory();
mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer();
CanvasVideoSurface videoSurface = mediaPlayerFactory.newVideoSurface(canvas);
mediaPlayer.setVideoSurface(videoSurface);
//Construction of the jframe :
frame = new JFrame("Demo with Canvas AWT");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(100, 100);
frame.setSize(700, 500);
//Adding the panel to the
frame.add(panel);
frame.setVisible(true);
//Playing the video
mediaPlayer.playMedia(url);
}
//Main function :
public static void main(String[] args) {
NativeLibrary.addSearchPath("libvlc", "C:/Program Files/VideoLAN/VLC");
final String url = "C:/MyVideo.mp4";
new Canvas_Demo(url);
}
}
Cảm ơn bạn trước.
Tôi đã cố gắng tìm ra lý do cho điều này trong nhiều ngày! Cảm ơn bạn –