Camera中的一些回调方法

来源:互联网 发布:数据分析师的工资待遇 编辑:程序博客网 时间:2024/05/02 02:40


1.  Camera.PictureCallback() ,图像捕获回调,是一种最安全的回调方法, 它确保会被调用,并且在压缩图像时被调用。

2.  Camera.PreviewCallback(),定义了onPreviewFrame(byte[] data, Camera camera) 方法,当存在预览帧时调用该方法,可以传入保存当前图像像素的字节数组。在Camera对象上,有3种不同的方式会使用这个回调:

 a:setPreviewCallback(PreviewCallback cb):使用该方法去注册一个回调,这将确保当屏幕上显示一个新的预览帧时会调用该回调中的onPreviewFrame方法。传递到onPreviewFrame方法中的字节数组最有可能采用YUV格式,但是Android2.2是第一个含YUV格式解码器的版本,所有Android2.2以下的版本必须手动完成解码。

 b:setOneShotPreviewCallback(PreviewCallback cb):当下一幅预览图可以用时调用一次onPreviewFrame方法。同样,传递到onPreviewFrame中的字节数组预览图最有可能采用YUV格式。可以通过使用ImageFormat中的常量检查Camera.getParameters().getPreviewFormat()返回的结果来确定这一点。

 c:setPreviewCallbackWithBuffer(PreviewCallback cb):在Android2.2种引入了该方法。与setPreviewCallback的工作方式相同,但要求指定一个字节数组作为缓冲区,用于预览图像数据。这是为了能够更好地管理处理预览图像时使用的内存。


3. Camera.AutoFocusCallback:定义了onAutoFocus(boolean success, Camera camera)方法,当完成一个自动聚焦活动时调用它

4. Camera.ErrorCallback:定义了onError方法,当发生一个Camera错误时调用它。

5. Camera.FaceDetectionListener:定义了onFaceDetection(Face[] faces, Camera camera)方法,当正在进行或完成“”平滑缩放“(慢慢缩小或慢慢放大)时调用它。在Android2.2种引入了这个雷和这个方法。

5. Camera.ShutterCallback:定义了onShutter()方法,当捕获图像时立刻调用它。

1 0