2016-12-05 5 views
1

Ich habe den folgenden Code in onCreate Methode der Aktivität geschrieben.java.lang.UnsupportedOperationException: AudioEffect: ungültige Parameteroperation Ausnahme auf Android Nougat (7.0)

MusicPlayer.getEqualizerHelper().getCurrentEqualizer().usePreset((short) 0); --- line no 1 
short numberFrequencyBands = MusicPlayer.getEqualizerHelper().getCurrentEqualizer().getNumberOfBands();--- line no 2 
final short lowerEqualizerBandLevel = MusicPlayer.getEqualizerHelper().getCurrentEqualizer().getBandLevelRange()[0];--- line no 3 

und es funktioniert gut in allen Android o.s unter Nougat. Wenn ich meine App auf Nougat-Gerät installiere, löst es eine Ausnahme in Zeile 1 aus. Bitte schlage mir vor, wo das Problem und die Lösung dafür liegt. Vielen Dank im Voraus

FATAL AUSNAHME: Haupt Prozess: com.ag.musicplayer, PID: 15039 java.lang.RuntimeException: Kann Aktivität

ComponentInfo starten {com.ag.musicplayer/com .ag.musicplayer.activity.EqualizerActivity}: java.lang.UnsupportedOperationException: AudioEffect: ungültige Parameter Betrieb bei android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2646) bei android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2707) bei android.app.ActivityThread.-wrap12 (ActivityThread.java) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1460) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:154) bei android.app.ActivityThread.main (ActivityThread.java:6077) bei java.lang.reflect.Method.invoke (Native Methode) um com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java: 865) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:755) Verursacht durch: java.lang.UnsupportedOperationException: AudioEffect: ungültiger Parameter Betrieb bei android.media.audiofx.AudioEffect.checkStatus (AudioEffect. Java: 1273) bei android.media.audiofx.Equalizer.usePreset (Equalizer.java:335) bei com.ag.musicplayer.activity.EqualizerActivity.onCreate (EqualizerActivity.java:287) bei android.app.Activity .performCreate (Activity.java:6664) um android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1119) bei android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2599) bei android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2707) bei android.app.ActivityThread.-wrap12 (ActivityThread.java) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1460) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:154) bei android.app.ActivityThread.main (ActivityThread.java:6077) bei java.lang.reflect.Method.invoke (native Methode) unter com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:865) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java: 755)

Antwort

0

Ich weiß nicht genau, warum es Fehler auf Nougat wirft, aber ein möglicher Grund ist, dass es möglicherweise keine Voreinstellung gibt. Um sicherzugehen, können Sie zuerst überprüfen, ob ein Preset verfügbar ist oder nicht getNumberOfPresets().

+0

Wie ist das möglich? der gleiche Code gibt Preset für Android-Version unter Nougat und keine Voreinstellung auf Nougat – AkhilGite

+0

Ich habe bereits getNumberOfPresets() hinzugefügt, bevor zu Spinner Adapter – AkhilGite

+0

zu initialisieren Versuchen Sie dies 'MusicPlayer.getEqualizerHelper(). getCurrentEqualizer(). usePreset (getCurrentPreset()); ' – Shubham

Verwandte Themen