2013-06-20 1 views
0

Je travaille sur un client SHOUTCast HTML5 (sans flash). Pour certains flux, je peux définir un src de la balise <audio> sur le flux MP3 et il joue très bien.Changer l'utilisateur-agent de l'étiquette audio

Mais il y a un flux qui ne fonctionne pas de cette façon. C'est parce que l'URL pour le flux est la même que la page index.html de la vapeur. Il utilise l'agent utilisateur. Si c'est un navigateur, vous obtenez une page HTML; Si ce n'est pas le cas, vous obtenez un flux MP3. Par conséquent, comment puis-je modifier les en-têtes de demande envoyés par le navigateur lors de la demande de la ressource pour le tag <audio>? Je ne veux pas qu'il envoie l'User-Agent.

+1

duplication possible de [Comment est-ce que je pouvais lire un flux shoutcast/icecast en utilisant HTML5?] (Http://stackoverflow.com/questions/2743279/how-could-i-play-a-shoutcast-icecast-stream-using -html5) – icktoofay

Répondre

2

Je ne pense pas qu'il existe un moyen de changer l'utilisateur-agent. Mais vous pouvez forcer SHOUTcast à diffuser le flux en ajoutant un point-virgule ; à la fin de l'URL. SHOUTcast ignorera alors l'utilisateur-agent.

exemple HTML5:

<!DOCTYPE html> 
<html> 
    <body> 
    <audio controls> 
     <source src="http://72.13.82.82:5100/;"/> 
     <em>Sorry, your browser doesn't support HTML5 audio.</em> 
    </audio> 
    </body> 
</html> 

Vous pouvez également vérifier la solution de contournement en vous rendant directement http://72.13.82.82:5100/; dans le navigateur. Vous devriez voir des métadonnées ICY suivies du flux mpeg.

+0

+1, juste une note rapide ... Lorsque le serveur SHOUTcast voit le point-virgule ';', il réécrit en interne la valeur 'User-Agent' comme' MPEG OVERRIDE'. Cela n'a pas d'importance pour le client. Je le mentionne parce que vous verrez beaucoup de «MPEG OVERRIDE» dans les journaux de votre serveur. – Brad

+0

@Brad: Ce n'est pas mon serveur! :-P –

Questions connexes