import org.bytedeco.javacv.CanvasFrame;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.Frame;
import org.bytedeco.javacv.FrameGrabber;


public class VideoPlayer {

    public static void main(String[] args) {
        String filePath = args[0];
        FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(filePath);
        try {
            grabber.start();
            CanvasFrame canvasFrame = new CanvasFrame("video Player");
            canvasFrame.setCanvasSize(grabber.getImageWidth(), grabber.getImageHeight());
            Frame frame = null;
            while ((frame = grabber.grabFrame()) != null) {
                canvasFrame.showImage(frame);
                try {
                    Thread.sleep(24);  //停顿
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            canvasFrame.dispose();
            grabber.stop();
        } catch (FrameGrabber.Exception e) {
            e.printStackTrace();
        }
    }

}

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐