Эквалайзер не всегда поддерживается, даже если api> = 9?
перед включением возможностей эквалайзера я проверяю уровень API, чтобы убедиться, что он равен или больше 9. Из отчетов, которые я получаю от своих пользователей, кажется, что некоторые исключения все равно выбрасываются:
кодeq = new Equalizer(0, mp.getAudioSessionId())
может поднять:
<code>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) </code>
и кодeq.getBandLevelRange()
может поднять:
<code>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) </code>
Я не знаю, есть ли решение, и если нет, я мог бы просто перехватить эти исключения и отключить эквалайзер, но мне нужно знать, что именно вызывает это, поэтому я могу информировать своих пользователей, не расстраивая их.
спасибо за любую помощь