Android java.lang.RuntimeException:无法初始化类型为47382d60-ddd8-11db-bf3a-0002a5d5c51b的效果引擎错误:-3
我的音乐应用程序的均衡器出现以下错误Android java.lang.RuntimeException:无法初始化类型为47382d60-ddd8-11db-bf3a-0002a5d5c51b的效果引擎错误:-3,android,runtimeexception,audioeffect,Android,Runtimeexception,Audioeffect,我的音乐应用程序的均衡器出现以下错误 E/AudioEffect: set(): AudioFlinger could not create effect, status: -38 E/AudioEffects-JNI: AudioEffect initCheck failed -3 E/AudioEffect-JAVA: Error code -3 when initializing AudioEffect. W/System.err: java.lang.RuntimeException:
E/AudioEffect: set(): AudioFlinger could not create effect, status: -38
E/AudioEffects-JNI: AudioEffect initCheck failed -3
E/AudioEffect-JAVA: Error code -3 when initializing AudioEffect.
W/System.err: java.lang.RuntimeException: Cannot initialize effect engine for type: 47382d60-ddd8-11db-bf3a-0002a5d5c51b Error: -3
W/System.err: at android.media.audiofx.AudioEffect.<init>(AudioEffect.java:411)
W/System.err: at android.media.audiofx.PresetReverb.<init>(PresetReverb.java:128)
W/System.err: at com.ushareit.listenit.equalizer.EqualizerHelper.initEqualizer(EqualizerHelper.java:67)
W/System.err: at com.ushareit.listenit.core.CrossfadePlayer.<init>(CrossfadePlayer.java:43)
W/System.err: at com.ushareit.listenit.core.PlayerProxy.<init>(PlayerProxy.java:52)
W/System.err: at com.ushareit.listenit.service.PlayService.onCreate(PlayService.java:96)
W/System.err: at android.app.ActivityThread.handleCreateService(ActivityThread.java:3162)
W/System.err: at android.app.ActivityThread.-wrap5(ActivityThread.java)
W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1550)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err: at android.os.Looper.loop(Looper.java:154)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6077)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
我确信audioSessionId
不是0,因此我不必添加以下权限:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
2.该例外情况的来源:
public AudioEffect(UUID type, UUID uuid, int priority, int audioSession)
throws IllegalArgumentException, UnsupportedOperationException,
RuntimeException {
...
// native initialization
int initResult = native_setup(new WeakReference<AudioEffect>(this),
type.toString(), uuid.toString(), priority, audioSession, id,
desc);
if (initResult != SUCCESS && initResult != ALREADY_EXISTS) {
Log.e(TAG, "Error code " + initResult
+ " when initializing AudioEffect.");
switch (initResult) {
...
default:
throw (new RuntimeException(
"Cannot initialize effect engine for type: " + type
+ " Error: " + initResult));
}
}
公共音频效果(UUID类型、UUID UUID、int优先级、int音频会话)
抛出IllegalArgumentException、UnsupportedOperationException、,
运行时异常{
...
//本机初始化
int initResult=native_设置(新的WeakReference(此),
类型.toString(),uuid.toString(),优先级,音频会话,id,
描述);
如果(initResult!=成功&&initResult!=已存在){
Log.e(标记“错误代码”+initResult
+“初始化AudioEffect时。”);
开关(初始化结果){
...
违约:
抛出(新运行时异常)(
无法初始化类型“+类型”的效果引擎
+“错误:“+initResult”);
}
}
3.这个例外只发生在Android 7.0的Nexus 6P中
这导致我的均衡器无法启用,那么如何解决这个问题呢
public static final UUID EFFECT_TYPE_PRESET_REVERB = UUID
.fromString("47382d60-ddd8-11db-bf3a-0002a5d5c51b");
public AudioEffect(UUID type, UUID uuid, int priority, int audioSession)
throws IllegalArgumentException, UnsupportedOperationException,
RuntimeException {
...
// native initialization
int initResult = native_setup(new WeakReference<AudioEffect>(this),
type.toString(), uuid.toString(), priority, audioSession, id,
desc);
if (initResult != SUCCESS && initResult != ALREADY_EXISTS) {
Log.e(TAG, "Error code " + initResult
+ " when initializing AudioEffect.");
switch (initResult) {
...
default:
throw (new RuntimeException(
"Cannot initialize effect engine for type: " + type
+ " Error: " + initResult));
}
}