完整讲解了android中camera的工作机制,代码分析。对了解整个android工作流程会有很大的帮助。
{"setPreviewDisplay",
"(Landroid/view/Surface;)V",
(void*)android_hardware_Camera_setPreviewDisplay},{"startPreview","()V",(void*)android_hardware_Camera_startPreview},{"stopPreview","()V",(void*)android_hardware_Camera_stopPreview},{"previewEnabled","()Z",(void*)android_hardware_Camera_previewEnabled},{"setHasPreviewCallback","(ZZ)V",(void*)android_hardware_Camera_setHasPreviewCallback},{"native_autoFocus","()V",(void*)android_hardware_Camera_autoFocus},{"native_takePicture","()V",(void*)android_hardware_Camera_takePicture},{"native_setParameters","(Ljava/lang/String;)V",(void*)android_hardware_Camera_setParameters},{"native_getParameters","()Ljava/lang/String;",(void*)android_hardware_Camera_getParameters},{"reconnect","()V",(void*)android_hardware_Camera_reconnect},{"lock","()I",(void*)android_hardware_Camera_lock},{"unlock","()I",(void*)android_hardware_Camera_unlock},
};
JNINativeMethod的第一个成员是一个字符串,表示了JAVA本地调用方法的名称,这个名称是在JAVA程序中调用的名称;第二个成员也是一个字符串,表示JAVA本地调用方法的参数和返回值;第三个成员是JAVA本地调用方法对应的C语言函数。
②.Mediaserverproces:进程注册了以下几个server:AudioFlinger、MediaPlayerServer、CameraService.
intmain(intargc,char**argv)