我使用的是MediaRecorder 方式录制的视频,但是用你的方法 SurfaceView获取到的是一张黑色的图片
情况1:你既然能把相机的数据保存成视频,那么你只需要在你拍照操作的时候,调用System.arraycopy方法复制并使用当前帧数据存为图片即可。这里这么理解,其实视频就是一帧一帧图片来的 情况2:使用MediaRecorder 方式录制视频,网上搜下view如何转成Bitmap就可以,本来SurfaceView就是继承的View嘛。另外你也可以参考下我以前的问题https://bbs.csdn.net/topics/390921393
要不就别拍照喽,你本来就在录制视频,把你录制视频里的当前数据保存成图片就行了。如果你用的是MediaRecorder 方式录制视频,那直接在录制过程中当需要拍照的时候把你的SurfaceView转成Bitmap再保存成图片
80,472
社区成员
91,384
社区内容
加载中
试试用AI创作助手写篇文章吧