Android培训班(36)

    技术2025-12-05  2

    <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

    init.rc文件里,可以看到加载下面的服务:

    service media /system/bin/mediaserver

    user media

    group system audio camera graphics inet net_bt net_bt_admin

    mediaserver服务的代码在目录:

    Android-2.0/frameworks/base/media/mediaserver

     

    mediaserver服务是多媒体服务的守护进程,负责多媒体/照相机/音频等三项服务。

    它的主要入口函数代码如下:

    using namespace android;

     

    int main(int argc, char** argv)

    {

    sp<ProcessState> proc(ProcessState::self());

    这行代码获取进程状态。

     

    sp<IServiceManager> sm = defaultServiceManager();

    获取服务管理器。

     

    LOGI("ServiceManager: %p", sm.get());

     

    AudioFlinger::instantiate();

    这行代码创建音频实例。

     

    MediaPlayerService::instantiate();

    这行代码创建多媒体播放实例。

     

    CameraService::instantiate();

    这行代码创建照相机实例。

     

    AudioPolicyService::instantiate();

     

    下面开始启动线程池。

    ProcessState::self()->startThreadPool();

    IPCThreadState::self()->joinThreadPool();

    }

     

    最新回复(0)