2013-06-20 53 views
0

我正在研究HTML5(無閃存)SHOUTCast客戶端。對於某些流,我可以將<audio>標記的src設置爲MP3流,並且播放效果還不錯。更改音頻標籤的用戶代理

但是有一條流不能以這種方式工作。這是因爲該流的URL與蒸汽的index.html頁面相同。它使用用戶代理。如果它是一個瀏覽器,你會得到一個HTML頁面;如果不是,你會得到一個MP3流。

那麼,如何在請求<audio>標記的資源時編輯瀏覽器發送的請求標頭?我不希望它發送用戶代理。

+1

[我如何使用HTML5播放shoutcast/icecast流?](http://stackoverflow.com/questions/2743279/how-could-i-play-a-shoutcast-icecast-stream-using -html5) – icktoofay

回答

2

我不認爲有一種方法來更改用戶代理。但是,您可以強制SHOUTcast通過在URL末尾添加分號;來爲該流提供服務。 SHOUTcast將忽略用戶代理。

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> 

您也可以直接在瀏覽器訪問http://72.13.82.82:5100/;驗證的解決方法。您應該看到一些ICY元數據,然後是mpeg流。

+0

+1,只是一個簡短的提示......當SHOUTcast服務器看到分號';'時,它在內部將'User-Agent'值重寫爲'MPEG OVERRIDE'。這對客戶根本無關緊要。我提到它是因爲您會在服務器日誌中看到很多「MPEG OVERRIDE」。 – Brad

+0

@Brad:這不是我的服務器! :-P –