android.hardware.Camera翻译

android camera 翻译(android.hardware.Camera)

http://developer.android.com/reference/android/hardware/Camera.html

   camera类用来设置图像的配置,启动或者停止预览,抓图,和为图像编码找回帧图。这个camera类是作为camera服务的客户端,是用来控制真实的摄像硬件。

   要访问摄像设备,你必须在manifest里面申明camera权限,必须保证包括<uses-feature>元素,比如你要使用摄像和自动对焦功能,你的manifest必须包括如下内容:

   <uses-permission android:name="android.permission.CAMERA" /> 

 <uses-feature android:name="android.hardware.camera" /> 

 <uses-feature android:name="android.hardware.camera.autofocus" />

 要通过此类来实现照相功能,你可以使用如下几步:

 1、通过open(int)来获得一个Camera实例。

 2、通过getParameters()方法获得现有的设置。

 3、如有必要,修改能过Camera.Parameters 返回的parameter对象,然后调用setParameters(Camera.Parameters). 

 4、如有需要,调用setDisplayOrientation(int). (备注:此方法在2.1版本里没有,在2.2+中有,但发现在2.2中调用会报错,最后使用了parameters.setRotation(int);)

 5、重要:setPreviewDisplay(SurfaceHolder)前对SurfaceHolder进行完全的初始化,没有surface,camera将不能启动预览。

 6、重要:调用startPreview方法来启动更新预览界面。预览必须在你可以照相前启动。

 7、如果你需要,调用takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback)来抓取一张相片,等待

 callbacks为你提供真实的图像数据。

 8、照完相后,预览视图将停止,需要再照时,首先要再次调用startPreview()方法。

 9、调用stopPreview()方法来停止更新预览界面。

 10、重要:调用release()方法来释放被其它应用使用的摄像头。应用必须在onPause()方法里尽快的释放camera并且在onResume()方法对其重新open();

 

 要快速的切换到摄像模式,使用如下步骤:

 1、获得和初始化一个camera对象,并且像上面一样启动预览。

 2、调用unlock()方法来允许媒体进程来访问camera。

 3、通过camera对象来设置setCamera(camera)。参考MediaRecorder关于录制视频的信息。

 4、当摄像完成后,调用reconnect()方法来重新获得和挂锁camera对象。

 5、如果需要,重启预览以照相和摄像。

 6、像上面一样,调用stopPreview()方法和release()方法。

 

 Camera类不是线程安全的,这就意味着只能在单线程中使用。大多数耗时操作(如:预览,对焦,抓图等等)发生的不同时,而且在必要时调用回调方法。

 回调方法的调用是发生在调用open(int)方法的线程上。这个类的方法不能被多线程同时调用。

 (注意:不同的android的设备可能有不同的设备指标,比如像素值和自动对焦功能。为了保证你的应用在大多数设备上有效果,你不能在设备指标上进行假设。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值