android 8.0录制视频中拍照问题

ESC尛蜜蜂 2018-04-23 09:46:17
录制视频中调用 mCamera.takePicture(null, null, new MyPictureCallback());功能获取图片数据后调用mCamera.startPreview();录制视频界面卡住并没有重新预览,7.0是可以的,8.0不行 是为什么?
...全文
1215 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jing丶無雙 2018-04-25
  • 打赏
  • 举报
回复
引用 4 楼 a511341250 的回复:
我使用的是MediaRecorder 方式录制的视频,但是用你的方法 SurfaceView获取到的是一张黑色的图片
那你再尝试别的方式喃,我能想到得就只有这样
Jing丶無雙 2018-04-23
  • 打赏
  • 举报
回复
要不就别拍照喽,你本来就在录制视频,把你录制视频里的当前数据保存成图片就行了。如果你用的是MediaRecorder 方式录制视频,那直接在录制过程中当需要拍照的时候把你的SurfaceView转成Bitmap再保存成图片
ESC尛蜜蜂 2018-04-23
  • 打赏
  • 举报
回复
现在发现的是升级到8.0的华为mate9 上有这个问题。其他手机好像没这个问题
ESC尛蜜蜂 2018-04-23
  • 打赏
  • 举报
回复
引用 3 楼 xj396282771 的回复:
情况1:你既然能把相机的数据保存成视频,那么你只需要在你拍照操作的时候,调用System.arraycopy方法复制并使用当前帧数据存为图片即可。这里这么理解,其实视频就是一帧一帧图片来的 情况2:使用MediaRecorder 方式录制视频,网上搜下view如何转成Bitmap就可以,本来SurfaceView就是继承的View嘛。另外你也可以参考下我以前的问题https://bbs.csdn.net/topics/390921393
引用 3 楼 xj396282771 的回复:
情况1:你既然能把相机的数据保存成视频,那么你只需要在你拍照操作的时候,调用System.arraycopy方法复制并使用当前帧数据存为图片即可。这里这么理解,其实视频就是一帧一帧图片来的 情况2:使用MediaRecorder 方式录制视频,网上搜下view如何转成Bitmap就可以,本来SurfaceView就是继承的View嘛。另外你也可以参考下我以前的问题https://bbs.csdn.net/topics/390921393
我使用的是MediaRecorder 方式录制的视频,但是用你的方法 SurfaceView获取到的是一张黑色的图片
Jing丶無雙 2018-04-23
  • 打赏
  • 举报
回复
情况1:你既然能把相机的数据保存成视频,那么你只需要在你拍照操作的时候,调用System.arraycopy方法复制并使用当前帧数据存为图片即可。这里这么理解,其实视频就是一帧一帧图片来的 情况2:使用MediaRecorder 方式录制视频,网上搜下view如何转成Bitmap就可以,本来SurfaceView就是继承的View嘛。另外你也可以参考下我以前的问题https://bbs.csdn.net/topics/390921393
ESC尛蜜蜂 2018-04-23
  • 打赏
  • 举报
回复
引用 1 楼 xj396282771 的回复:
要不就别拍照喽,你本来就在录制视频,把你录制视频里的当前数据保存成图片就行了。如果你用的是MediaRecorder 方式录制视频,那直接在录制过程中当需要拍照的时候把你的SurfaceView转成Bitmap再保存成图片
有具体的实现方法吗?这块不是很懂

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧