java.lang.RuntimeException: не удалось инициализировать механизм эффектов для типа: 47382d60-ddd8-11db-bf3a-0002a5d5c51b Ошибка: -3

Я получаю следующую ошибку в эквалайзере моего музыкального приложения.

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. что такое 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. это исключение произошло только в Nexus 6P в Android 7.0.

это потому, что мой эквалайзер не может включить, так как решить эту проблему?

0 ответов

Другие вопросы по тегам