alps/frameworks/base/media/java/android/media/audiofx/LoudnessEnhancer.java
public LoudnessEnhancer(int audioSession){
//默认只使用type,uuid等于null
super(EFFECT_TYPE_LOUDNESS_ENHANCER, EFFECT_TYPE_NULL, 0, audioSession);
}
alps/frameworks/base/media/java/android/media/audiofx/AudioEffect.java
/**
* UUID for Loudness Enhancer
*/
public static final UUID EFFECT_TYPE_LOUDNESS_ENHANCER = UUID
.fromString(“fe3199be-aed0-413f-87bb-11260eb63cf1”);
public static final UUID EFFECT_TYPE_NULL = UUID
.fromString(“ec7178ec-e5e1-4432-a3f4-4657e6795210”);
public AudioEffect(UUID type, UUID uuid, int priority, int audioSession){
int[] id = new int[1];
Descriptor[] desc = new Descriptor[1];
// native initialization
int initResult = native_setup(new WeakReference<AudioEffect>(this),
type.toString(), uuid.toString(), priority, audioSession, id,
desc, ActivityThread.currentOpPackageName());
mId = id[0];
mDescriptor = desc[0];
synchronized (mStateLock) {
mState = STATE_INITIALIZED;
}
}
alps/frameworks/base/media/jni/audioeffect/android_media_AudioEffect.cpp
android_media_AudioEffect_native_setup(JNIEnv *env, jobject thiz, jobject weak_this,
jstring type, jstring uuid, jint priority, jint sessionId, jintArray jId,
jobjectArray javadesc, jstring opPackageName)
{
typeStr = env->GetStringUTFChars(type, NULL);
uuidStr = env->GetStringUTFChars(uuid, NULL);
lpAudioEffect = new AudioEffect(typeStr,
String16(opPackageNameStr.c_str()),
uuidStr,
priority,
effectCallback,
&lpJniStorage->mCallbackData,
(audio_session_t) sessionId,
AUDIO_IO_HANDLE_NONE);
}
a