Problème:
Comme vous l'avez peut-être entendu, Android ne fournit pas d'API audio à faible latence. Ce que je veux dire par audio à faible latence, c'est que vous devriez pouvoir obtenir des signaux audio du microphone et jouer le son sans beaucoup de délai entre les deux (par exemple, 5 à 7 ms)
J'ai essayé l'ancien java (avec AudioRecord et AudioTrack) et le "nouveau" OpenSL ES. Ils sont terribles et rendent l'application inutilisable. Le problème a été bien documenté ici. Au fait, l'API iOS peut produire une latence d'environ 5 à 7 ms.
Recherche de solutions de contournement:
Mais j'essaie quand même de faire de l'audio à faible latence. Quelque chose comme décrit dans cette réponse.
"Cependant, je n'ai pu accomplir cela de manière satisfaisante qu'en écrivant mon propre code qui effectuait le mixage en interne et accédait à l'API de lecture audio de bas niveau uniquement pour jouer la sortie mixée finale. Les méthodes de lecture de sons de haut niveau dans le framework compact .Net sont théoriquement capables de polyphonie, mais en pratique elles fonctionnent horriblement (beaucoup de glitches, de bégaiements et de distorsions)."
Cela a-t-il du sens pour Android ? Une réponse est décourageante.
Alors ma question. N'y a-t-il vraiment aucun moyen d'obtenir une latence audio de 10 ms avec Android ?
Pour être honnête, je ne m'attends pas à une solution dans un avenir proche, mais j'espère simplement qu'un grand esprit aura la réponse à ce problème.