java.lang.UnsupportedOperationException: AudioEffect: недопустимое исключение операции параметра на нуге Android (7.0)

1

Я написал ниже код в методе onCreate активности.

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

и он отлично работает во всех андроидах o.s ниже nougat. Когда я устанавливаю свое приложение на устройстве nougat, он выдает исключение в строке № 1. Пожалуйста, предложите мне, где проблема и решение для него. Спасибо заранее

FATAL EXCEPTION: главная                                                                     Процесс: 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.handleLaunchActivity(ActivityThread.java:2707)                                                                             at android.app.ActivityThread.-wrap12 (ActivityThread.java)                                                                             в android.app.ActivityThread $H.handleMessage(ActivityThread.java:1460)                                                                             на android.os.Handler.dispatchMessage(Handler.java:102)                                                                             на android.os.Looper.loop(Looper.java:154)                                                                             at android.app.ActivityThread.main(ActivityThread.java:6077)                                                                             в java.lang.reflect.Method.invoke(собственный метод)                                                                             в com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:865)                                                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)                                                                          Вызывается: java.lang.UnsupportedOperationException: AudioEffect: неправильная операция параметров                                                                             в android.media.audiofx.AudioEffect.checkStatus(AudioEffect.java:1273)                                                                             at android.media.audiofx.Equalizer.usePreset(Equalizer.java:335)                                                                             в com.ag.musicplayer.activity.EqualizerActivity.onCreate(EqualizerActivity.java:287)                                                                             at android.app.Activity.performCreate(Activity.java:6664)                                                                             в android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)                                                                             в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)                                                                             в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)                                                                             at android.app.ActivityThread.-wrap12 (ActivityThread.java)                                                                             в android.app.ActivityThread $H.handleMessage(ActivityThread.java:1460)                                                                             на android.os.Handler.dispatchMessage(Handler.java:102)                                                                             на android.os.Looper.loop(Looper.java:154)                                                                             at android.app.ActivityThread.main(ActivityThread.java:6077)                                                                             в java.lang.reflect.Method.invoke(собственный метод)                                                                             в com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:865)                                                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

  • 0
    Как вы решили эту проблему? Я также запускаю свой код на LineageOS, который является пользовательским rom, так что вы просто отключили эквалайзер для пользовательских rom или есть обходной путь для этой проблемы?
Теги:
android-mediaplayer

1 ответ

0

Я точно не знаю, почему он бросает ошибку в Nougat, но одна из возможных причин заключается в том, что не может быть предустановленной. Поэтому, чтобы убедиться, что вы можете сначала проверить, доступен ли какой-либо пресет или нет, используйте getNumberOfPresets().

  • 0
    как это возможно? тот же код дает предустановку для версии Android ниже нуга и не давая предустановки на нугу
  • 0
    я уже добавил getNumberOfPresets () до этого для инициализации адаптера счетчика
Показать ещё 13 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню