<!– @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();
}