Je suis révision de toutes sortes de Android son API et j'aimerais savoir lequel je dois utiliser. Mon but est d'obtenir une faible latence audio ou, au moins, déterministe du comportement en matière de retard de lecture.
Nous avons eu beaucoup de problèmes et il semble que Android son API est de la merde, donc je suis en explorer les possibilités.
Le problème que nous avons est qu'il y a un retard important entre sound_out.write(sound_samples);
et son réel joué par les haut-parleurs. Il est généralement autour de 300 ms. Le problème est que sur tous les appareils, c'est différent; certains n'ont pas ce problème, mais la plupart sont paralysés (cependant, CS appel a zéro latence). Le plus gros problème avec cette ridicule de retard, c'est que sur certains appareils de ce délai, une valeur aléatoire (c'est à dire qu'il n'est pas toujours 300ms).
Je suis en train de lire à propos de OpenSL ES et j'aimerais savoir si quelqu'un a de l'expérience avec elle, ou c'est la même merde, mais enveloppé dans différents package?
Je préfère avoir un accès natif, mais je n'ai pas l'esprit de Java couche d'indirection tant que je peux obtenir déterministe du comportement: soit le retard doit être constante (pour un appareil donné), ou j'aimerais avoir accès à la position de lecture actuelle au lieu d'estimation avec une marge d'erreur de ±300 ms...
EDIT:
1.5 années plus tard, j'ai essayé plusieurs téléphones android pour voir comment je peux obtenir le meilleur possible de latence pour une communication voix en temps réel. En utilisant des outils spécialisés, j'ai mesuré le délai de waveout chemin. Les meilleurs résultats ont été plus de 100 ms, la plupart des téléphones ont été dans 180ms gamme. N'importe qui ont des idées?