首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 硬件开发 >

android.hardware.Camera通译

2012-09-24 
android.hardware.Camera翻译android camera 翻译(android.hardware.Camera)http://developer.android.com

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的设备可能有不同的设备指标,比如像素值和自动对焦功能。为了保证你的应用在大多数设备上有效果,你不能在设备指标上进行假设。)

1 楼 ihopethatwell 2012-05-23   android.hardware.Camera 这个类得到的camera对象是不是只能打开android的摄像头?如果用usb的摄像头他无法识别

热点排行