Я рассматривал Android SoundPool
как механизм для реализации звуковых эффектов в моей общей библиотеке разработки игр. Это казалось идеальным.
Но немного исследований показывает, что все виды ошибок в SoundPool
. Являются ли ошибки в SoundPool
актуальными?
Поскольку я разрабатываю библиотеку, любые ошибки в SoundPool
становятся ошибками в моей библиотеке, и я хочу изолировать своих пользователей от этого.
Итак, мой вопрос в основном: какой API я должен использовать для аудио?
Использование AudioTrack
и запись моего собственного микшера не может быть и речи. Но, очевидно, было бы предпочтительнее избегать этого. И есть ли какой-нибудь API для декодирования для меня?
Мне нужно иметь возможность воспроизводить разумное количество одновременных звуковых эффектов (не менее 16, скажем), и еще более открытыми. Звуки должны начинаться с низкой латентности. WAV
файлы должны поддерживаться (MP3/Ogg неважно). Звуковые эффекты должны поддерживать бесшовный цикл и динамическую индивидуальную регулировку громкости. Жизненный цикл приложения Android должен быть должным образом поддержан.
Я слышал, что для SoundPool
есть ограничение 1 МБ, это, вероятно, приемлемо для каждого отдельного звукового эффекта, но не для всех буферов/звуков. Может ли кто-нибудь сказать мне, в чем предел?
Наконец, мне нужно иметь возможность играть в фоновую музыку, в сжатых форматах, с низкой загрузкой процессора. Я предполагаю, что MediaPlayer
идеально подходит для этого. Может ли он использоваться параллельно с другим API?
Я знаю, что несколько человек использовали MediaPlayer
для заполнения для SoundPool
. Но поддерживает ли он те функции, которые мне нужны?
Есть ли какие-либо другие аудио API, которые я пропустил?