java.lang.RuntimeException:无法为类型初始化效果引擎:47382d60-ddd8-11db-bf3a-0002a5d5c51b错误:-3

时间:2016-12-09 07:25:33

标签: 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: 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)

它发生在:

mReverb = new PresetReverb(0, audioSessionId);

我确定audioSessionId不是0,所以我不需要添加以下权限:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

以下是我所知道的:

1. what 47382d60-ddd8-11db-bf3a-0002a5d5c51b

public static final UUID EFFECT_TYPE_PRESET_REVERB = UUID
        .fromString("47382d60-ddd8-11db-bf3a-0002a5d5c51b");

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));
            }
        }

3.此例外仅发生在Android 7.0中的Nexus 6P中。

它导致我的均衡器无法启用,那么如何解决这个问题?

0 个答案:

没有答案