android 模拟器调用系统照相机
来源:互联网 发布:梦幻西游mac不能更新 编辑:程序博客网 时间:2024/05/02 01:49
在android的模拟器上面调用系统的摄像机会出现异常的现象,会自动退出,这可能和模拟器有关,模拟器无法使用系统的硬件,就像重力感应和方向感应系统一样都无法使用,甚至是GPS
导航系统也无法使用,好像有个第三方的组织,已经模拟出来模拟器上使用重力感应。但是我没有真正的看到,下面的这几段是一本书上面写的android上面使用模拟器的例子。
这个示例将显示预览图像,在图像上点击则触发拍照操作,拍照成功后显示所拍的照片,然后点击Start菜单可以继续拍照。
首先通过OPhone开发工具(ODT)创建一个OPhone项目,填写基本信息后ODT会自动创建一个/src/org/goodev/camera/CameraActivity.java文件和res/layout/main.xml文件。
把main.xml文件内容修改为如下:
view plaincopy to clipboardprint?
1. <?xml version="1.0" encoding="utf-8"?>
2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3. android:orientation="vertical"
4. android:layout_width="fill_parent"
5. android:layout_height="fill_parent"
6. >
7. <SurfaceView android:id="@+id/camera"
8. android:layout_width="fill_parent"
9. android:layout_height="fill_parent"/>
10. <ImageView android:id="@+id/image"
11. android:layout_width="fill_parent"
12. android:layout_height="fill_parent"/>
13. </LinearLayout>
SurfaceView 用来预览图像,ImageView 用来显示所拍的照片。这里也需读者会问,为什么要使用SurfaceView 来预览图像?使用其他的View不可以吗?要回答这个问题,需要了解下SurfaceView 的作用,关于SurfaceView 的详细介绍已超出了本教程的范围,我们会在后续教程中来详细介绍SurfaceView ,这里只做简要介绍。
在通常情况下,OPhone程序中的View都是在同一个GUI线程中绘制的,该线程也是接收用户交互事件的线程(例如:按钮点击事件)。从另外的线程修改GUI元素是不可以的,如果要迅速的更新UI显示该如何办?显然在主线程中还需要处理其他事件,不适合做这件事情,所以OPhone提供了SurfaceView 来满足这种需求。一个SurfaceView 包装一个Surface对象(通过SurfaceHolder操作该对象)而不是Canvas对象,这就是关键所在,Surface可以在其他线程中绘制,这对于周期性更新和要求高帧率的场景来说是很有用的,特别是在游戏开发中。Surface中包含了当前UI的原生数据(raw data),在不同的软件和硬件条件下对这些数据的处理是不一样的,这就可以通过一些设置来加速图形的绘制,可以通过SurfaceHolder的setType函数来设置,目前接收如下的参数:
· SURFACE_TYPE_NORMAL:用RAM缓存原生数据的普通Surface
· SURFACE_TYPE_HARDWARE:适用于DMA(Direct memory access )引擎和硬件加速的Surface
· SURFACE_TYPE_GPU:适用于GPU加速的Surface
· SURFACE_TYPE_PUSH_BUFFERS:表明该Surface不包含原生数据,Surface用到的数据由其他对象提供,在Camera图像预览中就使用该类型的Surface,有Camera负责提供给预览Surface数据,这样图像预览会比较流畅。如果在这里设置了上面三种类型则可以发现不会出现预览图像,在和Camera底层的预览机制实现有关,如果对预览有特殊要求的可以现实PreviewCallback 接口来自己处理。
关于SurfaceView先简单介绍到这里,下面来继续看看如何在代码中实现。
修改CameraActivity类使其实现如下接口:
view plaincopy to clipboardprint?
1. android.view.SurfaceHolder.Callback
2. android.view.View.OnClickListener
- android 模拟器调用系统照相机
- Android调用系统照相机
- android 调用系统照相机
- Android-调用系统照相机
- Android调用系统照相机拍照
- Android调用系统照相机程序
- android调用系统照相机拍照
- Android 照相机Camera 调用系统照相机返回data为空
- android 调用系统照相机的方法
- Android--调用系统照相机拍照与摄像
- Android 调用手机系统照相机拍照
- Android--调用系统照相机拍照与摄像
- android 调用系统照相机拍照后剪裁
- Android之调用系统照相机并裁剪
- Android照相机(一):调用系统相机
- Android 点击按钮调用系统照相机
- Android 调用系统照相机拍照和录像
- Android调用系统照相机和摄像机
- c# mvc 中 dropdownlist 的数据联动绑定
- Android 1.5之后 入门配置及命令
- i2i portal dairy
- android 之摄像头
- 取汉字拼音首字母
- android 模拟器调用系统照相机
- 编号生成小记
- NET: Connecting a TcpClient through an HTTP proxy with authentication
- 第一个技术博客
- 文件上传小程序
- word 文档加密小技巧
- 正则表达式
- iframe自适应加载页面高度-js实现(转载)
- vc编写仿qq截图程序