- 浏览: 248545 次
- 性别:
- 来自: 内蒙古
文章分类
- 全部博客 (237)
- Android 功能实现 (31)
- sql数据库的学习 (8)
- Android 美化界面 (2)
- Android 优化 (1)
- Ruby on Rails 方面 (45)
- git 方面的学习 (1)
- ruby 编程的琢磨 (13)
- linux下工具软件 (13)
- 操作系统的学习 (40)
- 非技术 (13)
- 网站开发 (18)
- js 学习笔记 (19)
- css学习 (5)
- 回顾总结 (2)
- Delphi 学习 (2)
- C 语言学习笔记 (1)
- 数据结构 (1)
- node js 学习 (6)
- 设计模式 (2)
- mongdb 学习笔记 (0)
- 软件服务 (3)
- osx系统 (4)
- 搜索引擎 (1)
- 测试工具 (1)
- Aliyun (1)
- 前端JS (1)
- python学习 (0)
- iOS系统 (1)
- 分布式锁 (1)
- 开发工具 (0)
- java代码 (2)
- java (1)
最新评论
-
jiguanghover:
写的不错,收藏一下
Ubuntu下RVM, Ruby, rails安装详细 和 卸载 -
maoghj:
回顾总结(二) -
yun2223:
对楼主表示感谢
Android控件开发之Gallery3D效果 -
zw_lovec:
说清楚点吧 亲 加点注释
out of memory -
lzyfn123:
http://www.iteye.com/images/smi ...
ruby-string 字符串的学习
Android 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里的音量调节
2013-04-01 13:37 1356步骤1:或许系统音量 ... -
MyCameraActivity
2012-03-29 10:10 721package cn.fn; import android. ... -
MyCameraActivity
2012-04-01 13:27 903package cn.fn; import android. ... -
android AutoCompleteTextView+ SQLite
2012-03-21 13:33 1129android AutoCompleteTextView+ S ... -
android 异步回调加载网络图片
2012-03-20 11:50 958在做应用的时候很多时候都会去从网络加载图片,而且还要做各种各样 ... -
ProgressBar+AsyncTask 实现界面数据异步加载
2012-03-20 10:09 1640ProgressBar+AsyncTask 实现界面数据异步 ... -
Android 网络图片异步加载实例
2012-03-20 10:04 1001Android 网络图片异步加载实例 ... -
解决java.lang.OutOfMemoryError
2012-03-19 15:53 1108解决java.lang.OutOfMemoryError ... -
android Text 删除线
2012-03-16 19:35 1190import android.app.Activit ... -
android Gallery 详解
2012-03-14 14:17 1541android Gallery 正文 ... -
Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask,Task,AsynTask等
2012-03-14 11:43 1466Android的线程使用来更新UI----Thread、Han ... -
AsyncTask的使用
2012-03-14 10:59 845AsyncTask的使用 ... -
Android控件开发之Gallery3D效果
2012-03-13 14:38 2941Android控件开发之Gal ... -
android GridView
2012-03-08 10:28 931主类 import android.app.Activi ... -
ListView异步加载图片是非常实用的方法
2012-03-08 10:09 980ListView异步加载图片是非常实用的方法,凡是是要通过网络 ... -
复制assets下的数据库到SD卡
2012-03-07 10:56 1248首先使用sqliteadDev(一个windows下图形化sq ... -
Android异步加载图像小结
2012-03-06 16:46 620Android异步加载图像小结 (1)由于an ... -
AutoCompleteTextView
2012-03-05 14:53 1446AutoCompleteTextView ... -
android 动态加载List
2012-03-05 11:11 1014main.xml <?xml ver ... -
AutoCompleteTextView
2012-03-02 16:17 1077public class CityAdapter<T& ...
相关推荐
自己总结的Android Camera系统架构及源码分析,以framework和hal为主。
android_Camera框架分析
在Android系统中,Camera模块是实现拍照、录像等相机功能的核心组件。本文将详细解析Android Camera模块的架构和底层通信机制。 首先,Android应用程序主要使用Java编写,但系统的一些核心服务,如Camera服务,通常...
通过上述分析可以看出,Android Camera模块的设计十分灵活且高效。它不仅提供了一套完整的框架供开发人员使用,还允许针对特定硬件进行定制化开发。开发者可以通过实现`CameraHardwareInterface`接口来适配不同的...
在提供的压缩包文件AndroidCamera-EnableSettings-master中,可能包含了实现以上步骤的示例代码,通过学习和分析这些代码,你可以更好地理解和实践Android相机开发。 总的来说,Android相机开发涉及多方面知识,...
这个压缩包文件包含了一系列与Android Camera问题相关的文档,涵盖了从基础问题解决到深入的技术分析。以下是对这些文档内容的概览: 1. **解决Android 2.2 Camera问题**: 这份文档可能提供了针对Android 2.2版本...
我自己写的Android CameraX Demo,实现了预览/拍照/录制视频/图片分析/对焦/切换摄像头等操作。 具体详见我的博客 : https://blog.csdn.net/EthanCo/article/details/125603671
以下是对Android Camera框架的详细分析: 一、Camera构架分析 1. **客户端与服务器**:Android Camera框架分为客户端(Client)和服务器(Server)两部分。客户端通常是在应用程序中,通过Camera类的API来控制相机...
Android Camera 框架分析 Android 的 Camera 系统是一个复杂的系统,包括取景(preview)和拍摄照片(take picture)的功能。 Camera 框架分析可以分为两个部分:Camera 构架分析和 Camera 工作流程概述。 一、...
《深入解析Android Camera2 API》 在Android平台上,相机功能是开发者和用户都非常关注的部分,尤其是在移动设备上,高质量的拍照体验对用户来说至关重要。随着Android系统的不断演进,Camera API也经历了从早期的...
本文将详细讲解如何利用Android原生的`Camera`和`Camera2` API来实现这一功能。 首先,我们从`Camera` API开始。`Camera` API是Android早期版本提供的人脸检测接口,通过`FaceDetector`类来实现。以下是一些关键...
在Android平台上,Camera2 API是自Android 5.0(API级别21)引入的全新相机接口,旨在提供更高级别的控制和性能。这个API允许开发者深入到相机硬件的细节,实现专业级的拍照和视频录制功能。本文将详细介绍如何使用...
在Android平台上,Camera API是开发人员用来访问和控制设备摄像头的关键接口。这个“android Camera源码(可用)”提供...通过阅读和分析源码,不仅可以学习到Camera API的使用,还能了解如何优化性能和提高用户体验。
### Android Camera 架构...通过以上分析,我们可以看到 Android Camera 架构是如何通过不同层次的协同工作来实现相机功能的。这种分层的设计不仅提高了系统的可扩展性,也为开发者提供了更加灵活和高效的开发接口。
通过学习和分析这个示例,开发者可以快速掌握Android相机功能的开发,为自己的应用添加丰富的相机特性。同时,随着Android版本的更新,不断关注新的API和最佳实践,可以使你的相机功能更加先进和高效。
本文将深入分析Android 8.0中的Camera API,包括其新特性、工作原理以及如何利用这些特性进行应用开发。 1. Camera2 API的提升 在Android 8.0中,Camera2 API成为了主要的相机接口,它取代了早期的Camera API,提供...