2016-12-05 12 views
1

私は以下のコードをonCreateアクティビティの方法で書いています。java.lang.UnsupportedOperationException:AudioEffect: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 

これはすべてのアンドロイドOSの下でうまく動作します。 nougatデバイスにアプリケーションをインストールすると、1行目に例外がスローされます。問題と解決方法はどこにあるのか教えてください。 事前のおかげ

致命的な例外:メイン プロセス:com.ag.musicplayer、PID:15039 java.lang.RuntimeException:アクティビティを開始できません

ComponentInfo {com.ag.musicplayer/COM .ag.musicplayer.activity.EqualizerActivity}: java.lang.UnsupportedOperationExceptionが:AudioEffect:無効 パラメータ演算 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)で android.app.ActivityThread.-wrap12で android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) (ActivityThread.java) でandroid.app.ActivityThread $ H.handleMessage(ActivityThread.java:1460)でandroid.app.ActivityThread.mainでandroid.os.Looper.loop(Looper.java:154) でandroid.os.Handler.dispatchMessage(Handler.java:102) (ActivityThread.java:6077) ででjava.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865) java.lang.UnsupportedOperationExceptionが::AudioEffect: android.media.audiofx.AudioEffect.checkStatus(AudioEffectで 無効なパラメータ操作 によって引き起こさcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) で。 Javaの:1273) com.ag.musicplayer.activity.EqualizerActivity.onCreate(EqualizerActivity.java:287でandroid.media.audiofx.Equalizer.usePreset(Equalizer.java:335) ) でandroid.app.Activityで.performCreate(Activity.java:6664) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)で でandroid.app.ActivityThread.-wrap12でandroid.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) (ActivityThread.java) で android.app.ActivityThread $ H.handleMessage android.os.Looper.loop(Looper.java:154)でandroid.os.Handler.dispatchMessage(Handler.java:102)で(ActivityThread.java:1460) android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit。java:755)

答えて

0

なぜNougatでエラーが発生しているのか正確にはわかりませんが、プリセットがない可能性があります。したがって、まずプリセットが使用可能かどうかをgetNumberOfPresets()で確認してください。

+0

これはどのように可能ですか?同じコードは、nougatの下にアンドロイドバージョンのプリセットを与え、ヌガーのプリセットを与えません。 – AkhilGite

+0

スピナーアダプターを初期化するために既にgetNumberOfPresets()が追加されています – AkhilGite

+0

この 'MusicPlayer.getEqualizerHelper()。getCurrentEqualizer()。usePreset(getCurrentPreset()); ' – Shubham

関連する問題