在启用均衡器功能之前,我会检查API级别以确保它等于或大于9。 根据用户反馈的报告,似乎仍然会抛出一些异常:
代码 eq = new Equalizer(0, mp.getAudioSessionId())
可能会引发异常:
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)
而代码eq.getBandLevelRange()
可能会引发以下问题:
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)
我不知道是否有解决方案,如果没有,我可以捕捉这些异常并禁用均衡器,但我需要知道到底是什么原因导致了这个问题,这样我才能告知我的用户而不会让他们感到沮丧。
谢谢任何帮助。