2011-03-18 7 views
1

Je développe actuellement une application qui utilise la méthode setDataSource (url) MediaPlayer d'Android pour lire les flux SHOUTCast. Je suis en train de changer le code actuel de l'utilisation de la méthode setDataSource (url) à setDataSource (fichier) où le fichier dans un téléchargement incrémental du fichier que je suis en train de fumer. Similaire à ce tutoriel:Android streaming streaming/incrémental question de téléchargement

http://blog.pocketjourney.com/2008/04/04/tutorial-custom-media-streaming-for-androids-mediaplayer/

Ma question est la suivante:

Cette méthode fonctionne très bien pour les fichiers d'une longueur fixe, car une fois que le flux a terminé le fichier peut être supprimer (c.-à-streamer un mp3 et quand la chanson est finie je supprime l'ancien dossier de temp avant d'en créer un nouveau). Cependant, si je joue un flux SHOUTcast qui ne finit jamais techniquement, comment puis-je empêcher le stockage du téléphone de se remplir à cause de la taille du fichier temporaire qui augmente continuellement?

Répondre

0

Je ne suis pas connu en streaming ainsi avec le MediaPlayer, mais j'imagine cette solution peut fonctionner:

Utilisez deux fichiers. Lorsque vous atteignez un seuil de taille, commencez par télécharger le flux vers les deux fichiers. Lorsqu'il y a suffisamment de tampon dans le second fichier, commencez la diffusion à partir du second fichier et supprimez le premier. Échangez-vous d'avant en arrière aussi longtemps que vous le souhaitez.