2012-05-10 27 views
12

實現均衡器功能之前,我檢查API級別,以確保它是等於或大於9 從我從我的用戶收到的報告,似乎有些異常被拋出無論如何:即使當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) 

我不知道是否有一個解決方案,如果沒有我合作uld只是捕獲這些異常並禁用均衡器,但我需要知道究竟是什麼導致了這一點,所以我可以通知用戶而不會讓他們感到沮喪。

感謝您的幫助

+0

在api級別25上得到相同的錯誤,你找到任何解決方案嗎? – AkhilGite

回答

6

我有同樣的問題,它是由當我完成它沒有要求我釋放的均衡器()引起的。顯然,如果已經存在太多的本地庫,將不允許實例化新的AudioEffect。

+0

我已經在同一個類中添加了發佈版本,我正在初始化我的均衡器,並且我的應用在除了api level 25之外的所有設備上都正常工作。它正在崩潰,異常java.lang.UnsupportedOperationException:AudioEffect:無效的參數操作 所以我問在下面的鏈接點擊 http://stackoverflow.com/questions/40967977/java-lang-unsupportedoperationexception-audioeffect-invalid-parameter-operatio/40968149?noredirect=1#comment69152090_40968149 – AkhilGite

相關問題