Tôi đang lập trình cho android 2.2 và đang cố gắng sử dụng lớp học SoundPool để phát nhiều âm thanh cùng một lúc nhưng với cảm giác như âm thanh ngẫu nhiên sẽ ngừng phát ra từ loa.AudioFlinger không thể tạo bản nhạc. trạng thái: -12
cho mỗi âm thanh mà có thể đã được chơi này được in trong logcat:
AudioFlinger could not create track. status: -12
Error creating AudioTrack
Audio track delete
Không có ngoại lệ được ném và chương trình tiếp tục thực thi mà không bất kỳ thay đổi ngoại trừ việc thiếu khối lượng. Tôi đã có một thời gian thực sự khó khăn theo dõi những điều kiện gây ra lỗi hoặc tái tạo nó sau khi nó xảy ra. Tôi không thể tìm thấy lỗi trong tài liệu ở bất cứ nơi nào và khá nhiều lúc mất mát.
Bất kỳ trợ giúp nào sẽ được đánh giá rất nhiều!
Chỉnh sửa: Tôi quên đề cập đến việc tôi đang tải các tệp mp3 chứ không phải ogg.
Bạn tạo bao nhiêu bản nhạc? AFAIK -12 là 'NO_MEMORY', điều này có nghĩa là bạn đã hết bài hát (tôi nghĩ số bài hát mở tối đa được sử dụng là 32 - không chắc chắn nếu điều đó vẫn đúng). – Michael
Hmmmmm, tôi đang tải rất nhiều bản nhạc nhưng chúng được chia ra thành 5 soundpool. mỗi soundpool sẽ có tối đa ~ 15 âm thanh được tải. Bạn có biết nếu các bài hát tối đa 32 là hệ thống rộng hoặc mỗi hồ bơi âm thanh? – user1599837
Đó là mỗi chủ đề máy trộn (trong đó bạn đã có một cho mỗi chủ đề đầu ra AFAIK). Nhưng vì nhiều nền tảng sử dụng một chuỗi đầu ra duy nhất cho tất cả phát lại không phải là A2DP, về cơ bản nó trở thành một giới hạn toàn cầu. – Michael