android camera预览帧,android camera2处理每一帧并显示其预览
我使用
https://github.com/googlesamples/android-Camera2Basic,但尝试修改它,我可以访问每个帧,然后在surfaceview上绘制.
我明白了,我应该添加额外的表面(ImageReader.getSurface()),并在此回调中从中读取帧:
private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
= new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader reader) {
Log.d("Img", "onImageAvailable");
mBackgroundHandler.post(new ImageSaver(reader.acquireNextImage(), mFile));
}
};
问题是只有当用户捕获图像而不是从摄像机发送到预览屏幕的eacg帧时,才会调用此回调.
这是我试图添加的内容:
private void createCameraPreviewSession() {
try {
SurfaceTexture texture = mTextureView.getSurfaceTexture();
assert texture != null;
// We configure the size of default buffer to be the size of camera preview we want.
texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight());
// This is the output Surface we need to start preview.
Surface surface = new Surface(texture);
// We set up a CaptureRequest.Builder with the output Surface.
mPreviewRequestBuilder
= mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
mPreviewRequestBuilder.addTarget(surface);
// Here, we create a CameraCaptureSession for camera preview.
mCameraDevice.createCaptureSession(Arrays.asList(surface, mImageReader.getSurface()),
new CameraCaptureSession.StateCallback() {
@Override
public void onConfigured(CameraCaptureSession cameraCaptureSession) {
// The camera is already closed
if (null == mCameraDevice) {
return;
}
// When the session is ready, we start displaying the preview.
mCaptureSession = cameraCaptureSession;
try {
// Auto focus should be continuous for camera preview.
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE,
CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
// Flash is automatically enabled when necessary.
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE,
CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH);
// Finally, we start displaying the camera preview.
mPreviewRequest = mPreviewRequestBuilder.build();
mCaptureSession.setRepeatingRequest(mPreviewRequest,
mCaptureCallback, mBackgroundHandler);
//mPreviewRequestBuilder.addTarget(mImageReader.getSurface());
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
@Override
public void onConfigureFailed(CameraCaptureSession cameraCaptureSession) {
showToast("Failed");
}
}, null
);
/**TODO added for capturing aeach frame*/
// This is the CaptureRequest.Builder that we use to take a picture.
final CaptureRequest.Builder captureBuilder =
mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
captureBuilder.addTarget(mImageReader.getSurface());
// Use the same AE and AF modes as the preview.
captureBuilder.set(CaptureRequest.CONTROL_AF_MODE,
CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
captureBuilder.set(CaptureRequest.CONTROL_AE_MODE,
CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH);
/**end added for capture each frame*/
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
android camera预览帧,android camera2处理每一帧并显示其预览相关推荐
- Android openGl开发详解(二)——通过SurfaceView,TextureView,GlSurfaceView显示相机预览(附Demo)
最近公司在做自定义相机这一块,之前使用的是第三方,后来需求变更,第三方不支持添加动态贴纸,所以只能自己扩展.当然网上有很多例子,但是关于添加动态贴纸的例子几乎找不到,反正我是没找到(欲哭无泪).当然, ...
- Android camera(4)---Android Camera开发之基础知识篇
Android Camera开发之基础知识篇 转自:https://blog.csdn.net/feiduclear_up/article/details/51968975#jump5 概述 Andr ...
- Android Camera简单整理(四)-Android Camera性能Debug经验
针对手机厂商相机性能优化部分进行重点总结记录 Android Camera性能Debug经验 一.相机性能场景 二.相机性能debug工具及方案建议 1.dumpsys media.camera 1. ...
- android camera慢动作,关于android:这可能是全网关于Camera慢动作录像SlowMotion介绍最全的文章了...
这是一篇对于慢动作录像(slowmotion)的文章,看完后置信你对慢动作录像不会再感到生疏了~ 这篇文章针对上面几点来开展: 1)写这篇文章的原由? 2)什么是慢动作录像(SlowMotionRec ...
- Android Camera(5)---Android Camera调用流程
Android Camera调用流程 http://blog.csdn.net/lushengchu_luis/article/details/11033095 1.Packages/apps/到fr ...
- com.android.camera.action.crop uri,Android判断com.android.camera.action.CROP是否存在
版权声明:本文为xing_star原创文章,转载请注明出处! 最近线上报错,有个用户连续crash了10次左右,查看了下堆栈信息,发现是提示com.android.camera.action.CROP ...
- android camera 图片被旋转,android 部分手机Camera 拍照 图片被旋转90度的解决方法
部分手机拍照完后 图片旋转角度90度,目前解决方法普遍都是通过图片路径,获取图片信息判断角度,然后转换角度.如下: /** * 读取图片属性:旋转的角度 * @param path 图片绝对路径 * ...
- Android Camera了解一下
首发于公众号 Android Camera了解一下 Camera 演进简介 最近在项目中遇到 Camera相关的场景,之前对这块不是很了解,趁机补了一下盲区.Android Camera 相关也是生态 ...
- 第1讲 Android Camera性能分析 课程组织安排
本讲是Android Camera性能分析专题的第1讲,我们介绍课程组织安排,包括如下内容: 课程详细内容 课程配套源码和资料 视频在线观看: 极客笔记:极客笔记在线课程 加入知识星球与更多Camer ...
- android camera (2) ---高通平台camera开发
1. 设置摄像头方向 2. 打开线程与预览线程 3. 设置参数 4. Camera外设按键 5. 自动对焦与触摸对焦 6. 拍照 7. 人脸检测 8. 位置管理 9. 旋转管理 10. 变焦 11. ...
最新文章
- 推荐8个鲜为人知,但是很有意思的工具,简洁又好用!
- zk Acl权限:只有一个账号有crdwa权限,匿名用户只有r权限
- 致创业者:APP已死 服务永生
- (四)boost库之正则表达式regex
- Flex Graphics
- phpcmsV9框架:安装教程
- 百度SEO快克工具包 1.5.0 官方版
- C#算法设计查找篇之01-顺序查找
- Fedora Linux中配置JDK5或JDK6环境变量
- element table多选只能选中当前页数据_关于“列表多选”操作流的小思考
- python随笔系列--多进程多线程并发度初探
- php如何优雅地把数组传递给前端js脚本?
- JS如何判断浏览器类型和详细区分IE各版本浏览器
- vue修改编码_看,官方出品了 Vue 编码风格指南!
- IoT协议LwM2M MQTT与CoAP
- vue项目接口地址暴露_vue组件暴露和.js文件暴露接口的操作方法
- 利用FME计算椭球面积
- 【长期更新】计算机类企业网申地址内推码大整理
- 红太狼和灰太狼的囧人爱情
- 0基础快速入门CSS技术栈(6)—图解详细阐述说透CSS的浮动及应用、浮动的扩展及清除浮动和详解快速·1photoshop切图(附详细案例源码解析过程)2021-01-07更新