我正在使用SurfaceView播放视频,我想从运行视频中获取图像,我已尝试使用getDrawingCache()但我得到空白图像或黑屏但是当我绘制任何其他没有视频的布局图像时这工作正常, 所以请任何人都可以解决如何从视频或SurfaceView获取位图图像的问题。如果您知道,请提前致谢,请回答我的问题。 我已经使用了这段代码但没有得到结果。
mVideo.setDrawingCacheEnabled(真);
mVideo.buildDrawingCache();
Bitmap b = mVideo.getDrawingCache();
答案 0 :(得分:0)
这不起作用,因为视频内容没有“暴露”到普通视图层。
如果您使用的是API级> = 10,则可以使用MediaMetadataRetriever
getFrameAtTime
。它描述了here。
即使这可能也不会返回确切的帧,因为它与硬件相关。
最有把握的方法是使用像FFMPEG这样的东西来自己访问流。