Tôi đã đọc API Android và đã thử tìm kiếm trên internet về việc khai báo một tuỳ chỉnh audioSessionId
và sau đó sử dụng audioSessionId
để khởi tạo lớp AudioFx và gán MediaPlayer hoặc AudioTrack của mình mã cứng audioSessionId
.Sử dụng giá trị audioSessionId để khởi tạo lớp AudioFx?
Phương pháp này sẽ cho phép tôi tạo AudioFx trước và sau đó đính kèm MediaPlayer hoặc AudioTrack mới vào số audioSessionId
này.
Tôi hiện có thể sử dụng phương pháp này trên Android 2.3.6 nhưng trên Android 4.x Tôi đang gặp sự cố với lỗi khởi tạo không thành công hoặc trên các thiết bị ICS/JellyBean khác lỗi này là im lặng nhưng gọi hàm dẫn đến ngoại lệ.
Samsung Galaxy S II [Android 4.0.3]:[Issue không còn xảy ra với Android 4.0.4]
E/AudioEffect(13250): set(): AudioFlinger could not create effect, status: -38
E/AudioEffects-JNI(13250): AudioEffect initCheck failed -5
E/AudioEffect-JAVA(13250): Error code -5 when initializing AudioEffect.
W/WrapEqualizer(13250): createEqualizer() -> Effect library not loaded
Motorola Xoom [Android 4.1.2]
Thất bại nó dường như âm thầm sau khi các nhà xây dựng. Sau đó, gọi trên getProperties() nó bị treo.
java.lang.RuntimeException: AudioEffect: set/get parameter error
at android.media.audiofx.AudioEffect.checkStatus(AudioEffect.java:1247)
at android.media.audiofx.Equalizer.getProperties(Equalizer.java:532)
Nexus 4 [Android 4.2.1]
Sử dụng audioSessionId = 0 tất cả mọi thứ hoạt động tốt nhưng sử dụng bất kỳ số khác thiết bị sẽ báo cáo lỗi im lặng sau mỗi khi tôi cố gắng thay đổi cài đặt trước, mức độ ban nhạc , tăng âm trầm để BẬT hoặc Ảo hóa thành BẬT. ID hiệu ứng được báo cáo khác nhau tùy thuộc vào FX tôi đang cố sửa đổi.
W/AudioPolicyManagerBase(165): unregisterEffect() unknown effect ID 1381
Update 08/11/12:
Tôi có thể sử dụng audioSessionId
như 0. Tôi biết nó bị phản đối nhưng nó hoạt động bằng cách sử dụng phép. <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Tôi có nên sử dụng AudioFx với id phiên âm thanh 0 không?
Nếu bạn bỏ phiếu ít nhất có thời gian để nhận xét lý do bạn bỏ phiếu! – Jona
Một người nào đó đã đi xung quanh downvoting mỗi câu hỏi bounty'd và câu trả lời của nó ... Tôi thực sự hy vọng họ bị cấm. – Eric
Xin chào Jona, Bạn có giải pháp nào về điều này không. Tôi cũng muốn triển khai hiệu ứng âm thanh vào ứng dụng nhưng có lỗi như trên. –