`

Android Camera (android2.2) 资料一

 
阅读更多
android 通过android.hardware.Camera类来控制摄像头设备的,要使用只有通过android.hardware.Camera.open()来打开,这样就会创建一个新的Camera对象。

android提供了一些接口来给予回调,控制Camera的状态,分别是:
1.android.hardware.Camera.ErrorCallback:摄像头出错的时候调用,这个接口具有一个void onError(int error,Camera camera)函数;其中,

前者表示数据类型,取值是Camera类中的常量CAMERA_ERROR_UNKNOWN或者是 CAMERA_ERROR_SERVICE_DIED;

前者是不明错误,后者是表示服务已经关闭,

在这种情况下需要释放当前的Camera对象,然后再初 始化一个。

2.android.hardware.camera.PreviewCallback:在图像预览时调用,这个接口有一个void onPreviewFrame(byte[] data,Camera camera);参数data为每帧图像的数据流。我们可以根据实际需要来实现这个接口。

3.android.hardware.Camera.ShutterCallback:在图像预览的时候调用,这个接口具有一个void onShutter();
可以在改函数中通知用户快门已经关闭,例如播放一个声音。

4.android.hardware.Camera.PictureCallback:当拍摄相片的时候调用,该接口具有一个void onPictureTaken(byte[] data,Camera camera)函数;参数和预览的一样。在android中主要有三个类实现了这个接口,分别是PostViewPictureCallback、 RawPictureCallback、JepgPictureCallback。我们可以根据需要定义自己需要的类。

5.android.hardware.Camera.AutoFocusCallback:当自动对焦时候调用,该接口具有一个void onAutoFocus(boolean success,Camera camera)函数;

6.还提供了放大缩小的监听器android.hardware.Camera.OnZoomChangeListener。

private final class ZoomListener implements android.hardware.Camera.OnZoomChangeListener {
public void onZoomChange(int value, boolean stopped, android.hardware.Camera camera) ;

当取得照片的数据流后可以通过BitmapFactory的decodeByteArray()函数来解析图片。

另外还可以通过Camera对象的getParameters()函数来得到一个android.hardware.Camera.Parameters 对象,Parameters提供了一些接口来设置Camera的属性:

1.setPictureFormat(int pixel_format):设置图片的格式,其取值为PixelFormat YCbCr_420_SP、PixelFormatRGB_565或者PixelFormatJPEG。

2.setPreviewFormat(int pixel_format):设置图片的预览格式,取值如上。

3.setPictureSize(int width,int height):设置图片的高度和宽度,单位为像素。

4.setPreviewSize(int width,int height):设置预览的高度和宽度,取值如上。

5.setPreviewFrameRate(int fps):设置图片预览的帧速。 在设置好Camera的参数后,可以通过函数void startPreview()开始预览图像、void stopPreview()结束预览,通过autoFocus(AutoFocusCallback cb)来自动对焦,最后可以通过takePicture(ShutterCallback shutter, PictureCallback raw, PictureCallback jpeg)函数来拍照。

该函数有三个参数,分别为快门回调接口、原生图像数据接口和压缩格式图片数据接口。

如果数据格式不存在的话数据流为空,如果不需要 实现这些接口则这些参数取值可以为null。

以上资料来源:http://blog.csdn.net/itachi85/article/details/6759975
分享到:
评论

相关推荐

    Android Camera问题资料

    在Android系统中,Camera是一个非常重要的组件,它允许开发者创建丰富的多媒体应用,提供拍照、录像等功能。这个压缩包文件包含了一系列与Android Camera问题相关的文档,涵盖了从基础问题解决到深入的技术分析。...

    Android 2.2/2.3 通用Camera拍照源代码

    在Android平台上,Camera API是开发人员用来实现相机功能的核心接口,尤其在Android 2.2 (Froyo) 和 2.3 (Gingerbread) 版本中,这一接口对于构建拍照应用至关重要。本文将深入探讨这两个版本的相机源代码,帮助...

    Android 2.2 API 中文文档

    5. **API级别8**:Android 2.2对应的API级别是8,新增了许多类和接口,如`android.hardware.camera`,便于开发者实现更复杂的相机功能。 6. **动态安装应用**:开发者可以通过API实现应用的远程下载和安装,提升了...

    android-2.2_r03-linux

    对于开发者,Android 2.2提供了新的API,如Camera API的增强,允许更复杂的拍照和视频功能;还有对C++库的NDK支持,让游戏和其他高性能应用开发更加便利。 6. **文件结构**: 压缩包“android-2.2_r03-linux”很...

    Android Camera框架

    Android Camera框架作为一个重要的多媒体组件,在Android设备上扮演着至关重要的角色。它不仅为开发者提供了一套完整的API用于摄像头功能的开发,还确保了高性能与低延迟的数据传输。从整体上看,**Android Camera...

    android 2.2 源码

    在frameworks层,Android 2.2提供了新的API,如Camera API的升级,支持更高的拍照质量,以及网络连接的改进,如WiFi热点功能的加入。这些API的实现都可在源码中找到,对开发者进行功能开发和系统优化具有指导意义。 ...

    Android2.2平台上支持多camera.rar

    在Android 2.2平台上的多摄像头支持文档(如压缩包中的`Android2.2平台上支持多camera.doc`)可能会详细解释上述过程,包括具体的代码示例和注意事项。这份文档对于那些希望在早期Android版本上实现多摄像头功能的...

    android 相机源码2.2

    在Android系统中,相机功能是应用开发者经常打交道的一部分,特别是在2.2(API Level 8)这个版本。本文将深入探讨“android相机源码2.2”,解析其工作原理,帮助开发者更好地理解和优化相机应用程序。 Android 2.2...

    安卓Android源码——基于2.2照相机Demo,可以直接放到项目里使用.zip

    本示例是一个基于Android 2.2(Froyo)版本的照相机应用Demo,它为开发者提供了直接集成到项目中的基础代码框架。这个压缩包包含了名为"CaemraDemos"的子文件夹,里面包含了实现照相功能的全部源码。 Android 2.2的...

    android Camera源码(可用)

    Camera1是早期版本,适用于Android 2.2(API级别8)到Android 5.1(API级别22)。Camera2 API是新推出的高级接口,自Android 5.0(API级别21)开始引入,提供了更多的控制和更好的性能,但同时也更复杂。 在这个...

    android2.2 拍照程序完整源码

    针对"android2.2 拍照程序完整源码"这个主题,我们可以深入探讨Android 2.2版本中实现拍照功能的相关知识点。 首先,Android 2.2(Froyo)是Android操作系统的一个重要版本,发布于2010年,它引入了一些性能优化...

    Android应用源码之基于Android2.2照相机Demo,可以直接放到项目里使用-IT计算机-毕业设计.zip

    本示例源码是一个基于Android 2.2(API Level 8)的照相机应用Demo,适用于快速集成到你的项目中。下面将详细介绍这个Demo中的关键知识点和实现细节。 1. **AndroidManifest.xml配置** 在Android应用中,使用...

    Android2.2 API中文文档打包下载

    总之,Android 2.2 API中文文档是开发者学习和开发Android应用的重要参考资料,它详细阐述了各个API的使用方法和最佳实践,是提高开发效率和应用质量的关键。通过深入学习和实践,开发者可以充分利用Android 2.2的...

    Android代码-基于Android2.2照相机Demo可以直接放到项目里使用.rar

    这个"Android代码-基于Android2.2照相机Demo可以直接放到项目里使用.rar"压缩包提供了一个适用于Android 2.2(API级别8)的相机功能演示示例。让我们深入探讨这个Demo包含的知识点,以及如何在实际开发中应用这些...

    android2.2 官方实例

    在Android操作系统的发展历程中,Android 2.2(Froyo)是一个重要的里程碑。这个版本引入了许多关键的改进和新特性,为开发者提供了更丰富的功能和更好的性能优化。本篇将深入探讨Android 2.2中的官方实例,帮助...

    android Camera系统相机,相册,自定义相机

    这个类在Android API Level 8(Android 2.2)引入,但在API Level 14(Android 4.0)之后,推荐使用`Camera2` API,因为`Camera2`提供了更高级别的控制和性能。 `Camera2` API是一个更为复杂的框架,它为开发者提供...

Global site tag (gtag.js) - Google Analytics