前面文章音量设置中的音量增益流程 setCurrentGainIndex 方法我们分析到了 native 层就没有往下分析这里我们继续分析下面的流程

一、源码分析

1、android_media_AudioSystem.cpp

源码位置frameworks/base/core/jni/android_media_AudioSystem.cpp

static jint android_media_AudioSystem_setAudioPortConfig(JNIEnv *env, jobject clazz, jobject jAudioPortConfig)
{
    if (jAudioPortConfig == NULL) {
        return AUDIO_JAVA_BAD_VALUE;
    }
    if (!env->IsInstanceOf(jAudioPortConfig, gAudioPortConfigClass)) {
        return AUDIO_JAVA_BAD_VALUE;
    }
    struct audio_port_config nAudioPortConfig = {};
    jint jStatus = convertAudioPortConfigToNative(env, &nAudioPortConfig, jAudioPortConfig, true);
    if (jStatus != AUDIO_JAVA_SUCCESS) {
        return jStatus;
    }
    status_t status = AudioSystem::setAudioPortConfig(&nAudioPortConfig);
    jStatus = nativeToJavaStatus(status);
    return jStatus;
}

        这里

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注