Je regardais l'Android SoundPool
comme mécanisme pour implémenter des effets sonores dans ma bibliothèque générique de développement de jeux. Il s'agit de semblait idéal.
Mais un peu de recherche indique qu'il y a tous types de bogues en SoundPool
. Est-ce que les insectes dans SoundPool
toujours d'actualité ?
Parce que je développe une bibliothèque, tous les bogues dans SoundPool
deviennent des bugs dans ma bibliothèque, et je veux isoler mes utilisateurs de cela.
Donc ma question est en gros : Quelle API dois-je utiliser pour l'audio ?
Utilisation de AudioTrack
et écrire mon propre mixeur n'est pas hors de question. Mais il serait évidemment préférable d'éviter de faire cela. Et existe-t-il une API pour me fournir le décodage ?
Je dois pouvoir jouer un nombre raisonnable d'effets sonores simultanés (au moins 16, disons), et avoir encore plus d'ouverture. Les sons doivent commencer à jouer avec une faible latence. WAV
doivent être pris en charge (les fichiers MP3/Ogg sont sans importance). Les effets sonores doivent prendre en charge le bouclage transparent et le réglage dynamique et individuel du volume. Le cycle de vie des applications Android doit être correctement pris en charge.
J'ai entendu dire qu'il y avait une limite de 1 Mo quelque part pour SoundPool
Ceci est probablement acceptable pour chaque effet sonore individuel mais pas pour tous les tampons/sons. Quelqu'un peut-il me dire exactement quelle est la limite ?
Enfin, je dois être en mesure de diffuser de la musique de fond, dans des formats compressés, avec une faible charge CPU. Je suppose que MediaPlayer
est idéal pour cela. Peut-elle être utilisée en parallèle avec une autre API ?
Je sais que quelques personnes ont utilisé MediaPlayer
pour remplacer SoundPool
. Mais prend-il en charge les fonctionnalités dont j'ai besoin ?
Y a-t-il d'autres API audio que j'ai manquées ?