Korektor nie zawsze jest obsługiwany, nawet gdy api> = 9?

przed włączeniem funkcji korektora sprawdzam poziom api, aby upewnić się, że jest on równy lub większy niż 9. Z raportów, które otrzymuję od moich użytkowników, wynika, że ​​i tak są wyjątki:

kodeq = new Equalizer(0, mp.getAudioSessionId()) może podnieść:

<code>Caused by: java.lang.UnsupportedOperationException: Effect library not loaded
at android.media.audiofx.AudioEffect.<init>(AudioEffect.java:355)
at android.media.audiofx.Equalizer.<init>(Equalizer.java:149)
</code>

i kodeq.getBandLevelRange() może podnieść:

<code>Caused by: java.lang.UnsupportedOperationException: AudioEffect: invalid parameter operation
at android.media.audiofx.AudioEffect.checkStatus(AudioEffect.java:1182)
at android.media.audiofx.Equalizer.getBandLevelRange(Equalizer.java:206)
</code>

Nie wiem, czy istnieje rozwiązanie, a jeśli nie, to mógłbym złapać te wyjątki i wyłączyć korektor, ale muszę wiedzieć, co dokładnie powoduje ten problem, więc mogę poinformować moich użytkowników bez ich frustrowania.

dzięki za pomoc

questionAnswers(1)

yourAnswerToTheQuestion