android 视频截图

四个方案:

1.原生方法,MediaMetadataRetriever

        Bitmap bitmap = null;
        MediaMetadataRetriever retriever = new MediaMetadataRetriever();

        try {
            retriever.setDataSource(url, new HashMap<String, String>());
            bitmap = retriever.getFrameAtTime(videoView.getCurrentPosition() * 1000); 
        } catch (Exception ex) {
           LogUtils.logE("getCurrentVideoBitmap " + ex);
        } finally {
            try {
                retriever.release();
            } catch (RuntimeException ex) {
                // Ignore failures while cleaning up.
            }
        }

        if (bitmap == null) {
            return null;
        }

        bitmap = Bitmap.createBitmap(bitmap);

mp4没问题,但对切片类不行

2.ffmpeg等第三方库

全支持,但集成比较麻烦,而且体积也比较大

3.通过MediaProjectionManager录制屏幕获取帧来截图

这个截的是全屏,如果需要去边缘之类的可以直接处理bitmap

相关可以参考:https://github.com/c2hw/screenshot

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。