Pour une latence audio la plus faible possible, nous vous recommandons d'utiliser Oboe .
Hautbois
Oboe utilise l'audio natif et est construit sur AAudio pour Android 8.1+ et OpenSL ES pour les anciennes versions d'Android. Pour obtenir la latence la plus faible possible pour un périphérique, définissez setPerformanceMode(oboe::PerformanceMode::LowLatency)
et setSharingMode(oboe::SharingMode::Exclusive)
. Consultez le guide de démarrage , README.md
et le guide complet pour plus d'informations sur Oboe. Reportez-vous à l' application Soundboard pour un exemple d'application utilisant Oboe.
Remarque : Si vous utilisez AudioTrack pour créer des flux audio de sortie en Java pour des applications sensibles à la latence, utilisez le mode PERFORMANCE_MODE_LOW_LATENCY
.
Liste de contrôle de mise en œuvre
Pour utiliser l'audio natif Android :
- Téléchargez et installez le NDK Android .
- Suivez le guide de démarrage pour Oboe.
- Appelez
setPerformanceMode(oboe::PerformanceMode::LowLatency)
etsetSharingMode(oboe::SharingMode::Exclusive)
sur le générateur Oboe. - Utilisez la taille de tampon natif et la fréquence d'échantillonnage recommandées renvoyées par android.media.AudioManager.getProperty(java.lang.String) .
Remarque : la même taille de tampon et la même fréquence d'échantillonnage doivent également être utilisées pour l'entrée.
- Gardez vos gestionnaires de rappel courts, sans utilisation intensive du processeur ni blocage illimité. Évitez l’inversion des priorités.
- Envisagez d'utiliser des algorithmes non bloquants pour communiquer entre les gestionnaires de rappel d'entrée et de sortie, ainsi qu'entre les gestionnaires de rappel et le reste de votre application.
Autres ressources
source.android.com
Le site source.android.com est principalement conçu pour les OEM construisant des appareils Android et les fournisseurs de SoC qui fournissent des composants à ces OEM.
Cependant, il existe une multitude d'informations utiles sur la latence sur ce site, vous souhaiterez donc peut-être les consulter. Voir les articles sur Latence audio.
Android-ndk
Si vous avez des questions sur l'utilisation de l'audio natif Android, vous pouvez les poser au groupe de discussion android-ndk .
Signaler des bugs sur Hautbois
Si vous rencontrez des problèmes avec Oboe, vous pouvez signaler un bug .
Vidéos
- Débuter avec le hautbois
- Audio à faible latence – parce que vos oreilles en valent la peine
- Sommet des développeurs Android 2018.
- Gagner sur Android – Comment optimiser une application audio Android
- Défi des développeurs Android 2018.
- Audio haute performance sur Android (Google I/O 2013)
- Toute la vidéo parle de latence.
- Créer de superbes expériences multimédias sur Android (Google I/O 2014)
- Les 14 premières minutes concernent l'audio en général et la latence d'entrée en particulier.
- Latence audio : tailles de tampon (100 jours de développement Google)
- Décrit la relation entre la latence audio, la taille des tampons et la planification des tâches.