2012-05-10 31 views
12

przed włączeniem możliwości korektora, sprawdzam na poziomie API, aby upewnić się, że jest równa lub większa niż 9. Z raportów dostaję od moich użytkowników, wydaje się, że pewne wyjątki są wyrzucane w każdym razie:Korektor nie zawsze jest obsługiwany, nawet gdy api> = 9?

Kodeksu eq = new Equalizer(0, mp.getAudioSessionId()) można podnieść:

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) 

a kod eq.getBandLevelRange() może podnieść:

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) 

ja nie wiem, czy istnieje rozwiązanie, a jeśli nie jestem współwłaścicielem Właśnie wychwytujemy te wyjątki i wyłączamy korektor, ale muszę wiedzieć, co dokładnie powoduje to, więc mogę poinformować moich użytkowników, nie frustrując ich.

dzięki za wszelką pomoc

+0

uzyskanie tego samego błędu na poziomie api 25, czy znalazłeś jakieś rozwiązanie? – AkhilGite

Odpowiedz

6

miałem ten sam problem, a było to spowodowane nie nazywając uwalnianie() na moim korektora kiedy skończyłem z tym. Wygląda na to, że biblioteki natywne nie pozwolą na utworzenie nowego AudioEffect, jeśli jest ich już zbyt wiele.

+0

Dodałem wersję w tej samej klasie, w której inicjalizuję korektor, a moja aplikacja działa poprawnie na wszystkich urządzeniach z wyjątkiem poziomu api na poziomie 25. Występuje błąd z wyjątkiem java.lang.UnsupportedOperationException: AudioEffect: niepoprawna operacja parametru Zapytałem link pod linkiem: http://stackoverflow.com/questions/40967977/java-lang-unsupportedoperationexception-audioeffect-invalid-parameter-operatio/40968149?noredirect=1#comment69152090_40968149 – AkhilGite

Powiązane problemy