Я розглядав Android SoundPool
як механізм реалізації звукових ефектів у своїй загальній бібліотеці розробки ігор. Це здавалося ідеальним.
Але трохи досліджень вказує на те, що всі види з помилок в SoundPool
. Чи помилки SoundPool
все ще актуальні?
Оскільки я розробляю бібліотеку, будь-які помилки SoundPool
стають помилками в моїй бібліотеці, і я хочу ізолювати своїх користувачів від цього.
Тож моє питання в основному: який API я повинен використовувати для аудіо?
Про використання AudioTrack
та написання власного міксера не може бути й мови. Але, очевидно, було б кращим уникати цього. І чи є якийсь API для забезпечення декодування для мене?
Мені потрібно вміти відтворювати розумну кількість одночасних звукових ефектів (принаймні 16, скажімо так) і мати ще більше відкритості. Звуки потрібно починати грати з низькою затримкою. WAV
файли повинні підтримуватися (MP3 / Ogg не має значення). Звукові ефекти повинні підтримувати безперебійне циклічне та динамічне індивідуальне регулювання гучності. Життєвий цикл програми Android повинен бути належним чином підтриманий.
Я чув, що десь існує обмеження в 1 Мб SoundPool
, це, мабуть, прийнятно для кожного окремого звукового ефекту, але не для всіх буферів / звуків. Хтось може сказати мені, який саме ліміт?
Нарешті, мені також потрібно вміти відтворювати фонову музику в стислому форматі з низьким навантаженням на процесор. Я припускаю MediaPlayer
, що для цього ідеально. Чи можна його використовувати паралельно з іншим API?
Я знаю, що кілька людей використовували MediaPlayer
для заповнення SoundPool
. Але чи підтримує він функції, які мені потрібні?
Чи є якісь інші аудіо API, які я пропустив?