Aller au contenu

Streaming Audio


Recommended Posts

Bonjour,

Cela fait plusieurs mois que je cherche une solution fiable pour faire du streaming audio sur un programme Android. Pour rappel, un streaming audio correspond à une lecture en direct d'un fichier audio continue (il n'y a pas de fin). Par exemple, il peut s'agir d'une radio.

Depuis la version 2.2 froyo, le media player Android est censé prendre en charge le streaming audio, mais celuis ne fonctionne pas ou pas dans tous les cas. Cela dépend :

- De la version Android

- Du fabricant. (motorola, htc, samsung, etc.)

- Du type de flux (aac, mp3, asx, shoutcast, etc.)

- De la connexion (3G ou Wifi)

Pour donner une exemple de ce fonctionnement aléatoire : sur certains algo que j'ai trouvé sur le web, et pour un flux bien précis, cela fonctionne sur Motorola Milestonne 2.2 en Wifi, mais en 3 G, rien à faire...

Sur internet, j'ai trouvé 3 solutions crédibles pour la mise en place d'un streaming audio :

1) Utilisation du média player android

2) Utilisation de l'algo NPR : ici, on utilise un proxy qui fait tampon entre le flux et le média player natif d'android :

http://code.google.com/p/npr-android-app/downloads/list

3) Un tutorial existe également :

http://blog.pocketjourney.com/2009/12/27/android-map-tutorials-updated-to-v1-5-cupcake-mapview-mapactivity/

Sur les flux que j'ai testé, ce dernier bug pas mal et provoque des saut réguliers dans le son (toutes les 12 secondes).

Cette semaine, j'ai mis les mains dans le cambuis et j'ai moi même développé un algorithme. Celui ci si'nspire du tutorial (point 3) dnas le sens où je récupère le flux par protocole http pour le mettre ensuite dans un fichier. Le principe est le suivant : je dépose le contenu du flux dans 4 fichiers différents. A tours de rôle, les fichiers sont lecteurs, ecrivains ou libre. Pour passer de l'un à l'autre j'utilise deux media player : l'un fait "pause" sur un fichier et l'autre fait "start" sur l'autre fichier. Cela provoque également des saut, mais moins long que le tuto en 3, moins répété et non systématique.

Je vous invite à regarder et à tester cet algorythme. Je compte le mettre en dernier recours, si dans mon application, le point 1 et ne fonctionnent pas.

MobiDev

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...