CameraPreView遇到的一些问题

原创 2016年05月31日 16:58:17

1、onPreviewFrame运行一段时间后便不进入回调函数 

      tip:1.在onPreviewFrame函数里加入mCamera.addCallbackBuffer(data);

           2.surfaceChanged里加入mCamera.addCallbackBuffer(gBuffer);

                                                   mCamera.setPreviewCallbackWithBuffer(this);

           3.surfaceCreated里mCamera.setPreviewDisplay(mSurfaceHolder);

                                         gBuffer = previewBuffer();

                                        mCamera.addCallbackBuffer(gBuffer);

                                        mCamera.setPreviewCallbackWithBuffer(this);

          4.private byte[] previewBuffer() {

        Log.d("Function", "previewBuffer iniciado");

        int bufferSize;

        byte buffer[];

        int bitsPerPixel;


        Camera.Parameters mParams = mCamera.getParameters();

        Camera.Size mSize = mParams.getPreviewSize();

        Log.d("Function", "previewBuffer: preview size=" + mSize.height + " " + mSize.width);

        int mImageFormat = mParams.getPreviewFormat();


        if (mImageFormat == ImageFormat.YV12) {

            int yStride = (int) Math.ceil(mSize.width / 16.0) * 16;

            int uvStride = (int) Math.ceil((yStride / 2) / 16.0) * 16;

            int ySize = yStride * mSize.height;

            int uvSize = uvStride * mSize.height / 2;

            bufferSize = ySize + uvSize * 2;

            buffer = new byte[bufferSize];

            Log.d("Function", "previewBuffer: buffer size=" + Integer.toString(bufferSize));

            return buffer;

        }


        bitsPerPixel = ImageFormat.getBitsPerPixel(mImageFormat);

        bufferSize = (int) (mSize.height * mSize.width * ((bitsPerPixel / (float) 8)));

        buffer = new byte[bufferSize];

        Log.d("Function", "previewBuffer: buffer size=" + Integer.toString(bufferSize));

        return buffer;

    }

      5.在每次改变相机参数时,在startView之前加上 mCamera.addCallbackBuffer(gBuffer);

                                                                                  mCamera.setPreviewCallbackWithBuffer(this);



      总结:以上tips都是从网上各处搜罗,自己各种实验总结而来。乐意分享~

  

Android ApiDemos示例解析(57):Graphics->CameraPreview

本例介绍了如何使用设备的摄像头来预览将要拍摄的照片,本例需要真实的手机来运行: 例子中用到两个方面的知识:SurfaceView 和android.hardware.Camera。 Surfa...
  • mapdigit
  • mapdigit
  • 2012年07月10日 12:21
  • 6775

Android API之CameraPreview

@SuppressWarnings("deprecation") public class CameraPreview extends Activity { private Preview mP...
  • true100
  • true100
  • 2016年07月25日 13:42
  • 2313

<Android Framework 之路>Android5.1 Camera Framework(二)

Android 5.1 中 Camera 启动预览的过程简要说明
  • poorkick
  • poorkick
  • 2015年08月23日 22:37
  • 3737

【Android Camera】之 Preview

Preview data ✿ Preview callback   Android Camera小系统:         嗯……直接看Camera HAL层,它实现是主要的工作, 它一般通过ioctl...
  • yiyaaixuexi
  • yiyaaixuexi
  • 2011年05月30日 22:38
  • 22187

一个简单的camera管理类

import android.graphics.ImageFormat; import android.hardware.Camera; import android.hardware.Camera....
  • qq_34655908
  • qq_34655908
  • 2017年08月15日 17:00
  • 96

Android Camera Parameters 获取

以下是我写的使用Camera Parameters 获取相机相关参数的例子,展示如何 逐个获取所需的参数,在此记录下,为方便自己Review,也希望能帮到其他人。 其中,picture 相关的,P...
  • happy08god
  • happy08god
  • 2013年07月12日 17:37
  • 11547

Android Camera Preview 程序

  • 2016年11月18日 13:35
  • 2.65MB
  • 下载

Camera2 打开相机预览界面

camrea2 api打卡相机预览界面
  • xiaomingdbaba
  • xiaomingdbaba
  • 2016年06月13日 14:19
  • 9760

第一次深入学习AD遇到的一些问题

这是我第一次写博客,昨天在网上读到一篇帖子,关于写博客的重要性,很多知识,很多问题,自己犯了又犯,是该用博客的形式记录下来了,一方面提醒自己,另一方面也是为了加深自己对知识的理解。 【关于AD总是报...
  • m0_38024766
  • m0_38024766
  • 2017年07月27日 19:24
  • 186

vue搭建项目时遇到的一些问题记录

1、用vue-cli模板搭建项目时,在选项 Use ESlint to lint your code(使用ESlint规范代码) 的是时候记得 填 no(对于小菜鸟),否则多个空格都会报错 。 2...
  • qq_36687640
  • qq_36687640
  • 2017年11月17日 17:19
  • 85
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CameraPreView遇到的一些问题
举报原因:
原因补充:

(最多只允许输入30个字)