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.
это потому, что мой эквалайзер не может включить, так как решить эту проблему?