MediaRecorderClient决定使用stagefright还是opencore实现录音录像的代码实现

android录音或者录像时,决定是使用stagefright还是opencore框架的代码实现位于MediaRecorderClient类中,代码实现如下:
MediaRecorderClient::MediaRecorderClient(const sp& service, pid_t pid)
{
    LOGV("Client constructor");
    mPid = pid;

    char value[PROPERTY_VALUE_MAX];
    if (!property_get("media.stagefright.enable-record", value, NULL)
        || !strcmp(value, "1") || !strcasecmp(value, "true")) {
        mRecorder = new StagefrightRecorder; // 如果定了stagefright属性,则使用stagefright
    } else
#ifndef NO_OPENCORE
    {
        mRecorder = new PVMediaRecorder(); // 如果没有定义stagefright属性,并且没有定义NO_OPENCORE,则使用opencore
    }
#else
    {
        mRecorder = NULL; // 两者都没有定义,则返回NULL
    }
#endif

    mMediaPlayerService = service;
}

你可能感兴趣的:(android,framework,android多媒体)