2009-04-08 6 views
5

J'ai une application Android qui joue de la musique à partir d'un site, mais pour authentifier le flux, vous devez envoyer un cookie IE:Android MediaPlayer URL avec Cookie

http://example.com/site/content?id=SOMEID = flux formaté mp3

Si vous accédez à l'URL sans un cookie, vous obtiendrez une erreur Server 500. Si vous avez un cookie, alors vous aurez le flux.

Pour la vie de moi, je n'arrive pas à comprendre comment faire en sorte que le mediaplayer joue une URL lors de l'envoi d'un cookie.

Je peux cependant lire n'importe quelle URL ne nécessitant pas de cookie.

+0

Avez-vous déjà trouvé une solution de contournement pour cela, WedTM? – Eric

Répondre

2

Autant que je peux dire que vous ne pouvez pas. Presque tout ce que MediaPlayer fait est fait en code natif, y compris l'ouverture de toute connexion, il n'y a donc aucun moyen d'accéder au flux qu'il utilise AFAICT.

1

Une solution consiste à créer un serveur Web dans votre application Android, à l'authentifier et à télécharger votre fichier MP3 et à ce que votre appel MediaPlayer setDataSource avec l'adresse de votre serveur local (comme http://127.0.0.1:8000/mymp3.mp3). Vous pouvez avoir la lecture se produire pendant que votre classe de serveur Web est encore en train de télécharger donc idéalement vos utilisateurs remarqueraient une différence.