2012-05-10 24 views
12

trước khi kích hoạt khả năng cân bằng, tôi kiểm tra cho cấp api để chắc chắn rằng nó tương đương hoặc lớn hơn 9. Từ các báo cáo tôi nhận được từ người dùng của tôi, có vẻ như một số trường hợp ngoại lệ được ném anyway:Bộ chỉnh âm không phải lúc nào cũng được hỗ trợ, ngay cả khi api> = 9?

eq = new Equalizer(0, mp.getAudioSessionId()) có thể nâng cao:

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) 

và mã eq.getBandLevelRange() có thể nâng cao:

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) 

tôi không biết nếu có một giải pháp, và nếu tôi không đồng uld chỉ bắt những ngoại lệ và vô hiệu hóa bộ cân bằng, nhưng tôi cần phải biết chính xác những gì gây ra điều này, vì vậy tôi có thể thông báo cho người dùng của tôi mà không làm phiền họ.

nhờ sự giúp đỡ nào

+0

gặp lỗi tương tự ở cấp api 25, bạn có tìm thấy giải pháp nào không? – AkhilGite

Trả lời

6

Tôi có vấn đề này giống nhau, và nó được gây ra bởi không kêu gọi phóng thích() trên Equalizer tôi khi tôi đã hoàn thành với nó. Rõ ràng, các thư viện gốc sẽ không cho phép tạo ra một AudioEffect mới nếu có quá nhiều sự tồn tại.

+0

Tôi đã thêm bản phát hành vào cùng một lớp nơi tôi đang khởi tạo bộ cân bằng và ứng dụng của tôi đang hoạt động tốt trên tất cả các thiết bị ngoại trừ cấp api 25. Nó bị lỗi với ngoại lệ java.lang.UnsupportedOperationException: AudioEffect: hoạt động tham số không hợp lệ Vì vậy, tôi đã hỏi một que ở bên dưới liên kết http://stackoverflow.com/questions/40967977/java-lang-unsupportedoperationexception-audioeffect-invalid-parameter-operatio/40968149?noredirect=1#comment69152090_40968149 – AkhilGite

Các vấn đề liên quan