![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android之camera
文章平均质量分 62
「已注销」
这个作者很懒,什么都没留下…
展开
-
startPreview()调用细节分析三
前面章节我们介绍了startPreview()函数中ICamera对象mCamera的出处,这一章我们介绍前面提到的IBinder指针的由来.BnMediaRecorder的onTransact()函数是在哪被调用的呢?先看BpMediaRecorder的相关代码:class BpMediaRecorder: public BpInterface{public:原创 2017-04-19 21:12:20 · 1373 阅读 · 0 评论 -
camera框架简介
Camera CameraService CameraService::Client CameraClient原创 2017-04-19 21:03:45 · 297 阅读 · 0 评论 -
CameraService初始化
CameraService运行在MediaServer进程,在MediaServer进程的入口函数main()中调用CameraService::instantiate()进行实例化,相关代码在main_mediaserver.cpp中.CameraService是BinderService的派生类,而instantiate()函数在BinderService中定义,如下:te原创 2017-04-19 21:04:50 · 1587 阅读 · 0 评论 -
startPreview()调用细节分析一
在开发相机预览功能时,App会调用Android API函数startPreview(),在Camera.java中定义:public native final void startPreview();这是个native函数,会直接调用jni层的函数,在android_hardware_Camera.cpp中定义:static void android_hardware_C原创 2017-04-19 21:07:47 · 5109 阅读 · 0 评论 -
startPreview()调用细节分析二
由之前的章节可知,Camera.cpp中的mCamera对象实际上是BpCamera的实例,因此,Camera类的startPreview()函数会调用BpCamera的startPreview()函数,如下:class BpCamera: public BpInterface{public: BpCamera(const sp& impl)原创 2017-04-19 21:09:54 · 1616 阅读 · 0 评论