1 / 11
文档名称:

Camera分析.doc

格式:doc   大小:376KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Camera分析.doc

上传人:小博士 2018/11/14 文件大小:376 KB

下载得到文件列表

Camera分析.doc

文档介绍

文档介绍:Camera分析
话说camera模块,从上层到底层一共包含着这么几个部分:
1、 apk java 语言
2、 camera 的 java 接 U——java 语言
frameworks/base/core/java/android/hardware/
I 11 11 JI 1 L J l J
it zxg@ /home/zxg/N818S_bak/frameworks/base/core/java/android/hardware/
2014/9/26 15:06:00 156,762 bytes Java Source ▼ ANSI ▼ PC
311
public static Camera open() {
312
int numberOfCameras = getNumberOfCameras();
313
Cameralnfo cameralnfo = new Cameralnfo();
314
for (int i = 0; i < numberOfCameras; i++) {
315
getCameraInfo(cameralnfo);
316
if ( ==
■BACK) {
317
return new Camera(i);
318
}
319
}
320
return null;
321
322
}
123
Camera(int camerald) {
324
mShutterCallback = null;
325
mRawImageCallback = nullj|
32G
mDpegCallback = null;
327
mPreviewCallback = null;
328
mPostviewCallback = null;
329
330
mZoomListener = null;
321
Looper looper;
332
if ((looper = ()) != null) {
333
mEventHandler = new EventHandler(this, looper);
334
} else if ((looper = ()) != null)
335
mEventHandler = new EventHandler(this, looper);
i36
} else {
337
mEventHandler = null;
33&
}
340
native_setup(new WeakReference<Camera>(this)> camerald);
S41
342
}
3、camera 的 java 接11 的体实现,即所谓的 JNI (java—〉C++)
******@ /home/zxg/N818S-bak/frameworks/base/core/jni/android-hardware-
L4/9/26 15:06:00 34,656 bytes C,C++,C#,ObjC Source ▼ ANSI ▼ PC
467 static void android一hardware一 Camera一native_setup(]NIEnv *envj jobject thiz^
4©8 jobject weak—this, jint camerald)
40S {
sp<Camera> carera = Camera:: connect (camera Id);//i^fflp^l^frame^rks/base/libs/camera/Camera. cpp
471
if (camera == NULL) {
jniThrowRuntimeException(env> "Fail to connect to camera service");
native_setup(Object camera_this,int camerald);此处通过红色 native 字段叶以确定 native_setup 调用的就是 jni 接 •体实现丫这个函数,U:我们來符石它足足如何转接
这个函数的.
4、camera客户端 C++语言
20