2012-05-10 11 views
12

vor Equalizer-Funktionen ermöglichen, überprüfe ich für api Ebene, um sicherzustellen, es ist gleich oder größer als 9. Aus den Berichten ich von meinen Nutzern bekommen, scheint es, dass einige Ausnahmen ohnehin geworfen werden:Equalizer wird nicht immer unterstützt, auch wenn api> = 9?

der Code eq = new Equalizer(0, mp.getAudioSessionId()) erhöhen können:

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) 

und der Code eq.getBandLevelRange() erhöhen können:

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) 

ich weiß nicht, ob es eine Lösung gibt, und wenn nicht ich co Ich möchte nur diese Ausnahmen abfangen und den Equalizer deaktivieren, aber ich muss wissen, was genau das verursacht, damit ich meine Benutzer informieren kann, ohne sie zu frustrieren.

Dank für jede Hilfe

+0

mit demselben Fehler auf API-Ebene 25, haben Sie eine Lösung gefunden? – AkhilGite

Antwort

6

Ich hatte das gleiche Problem, und es wurde von nicht Aufruf Release() auf meinem Equalizer verursacht, wenn ich mit ihm fertig war. Offensichtlich erlauben die nativen Bibliotheken die Instantiierung eines neuen AudioEffects nicht, wenn zu viele bereits vorhanden sind.

+0

Ich habe Freigabe in der gleichen Klasse hinzugefügt, wo ich meinen Equalizer initialisiere und meine App funktioniert gut auf allen Geräten außer API-Ebene 25. Es wird mit Ausnahme abgestürzt java.lang.UnsupportedOperationException: AudioEffect: ungültige Parameteroperation So fragte ich a que auf unter link http://stackoverflow.com/questions/40967977/java-lang-unsupportedoperationception-audioeffect-invalid-parameter-operatio/40968149?noredirect=1#comment69152090_40968149 – AkhilGite

Verwandte Themen