我正在研究HTML5(無閃存)SHOUTCast客戶端。對於某些流,我可以將<audio>
標記的src
設置爲MP3流,並且播放效果還不錯。更改音頻標籤的用戶代理
但是有一條流不能以這種方式工作。這是因爲該流的URL與蒸汽的index.html
頁面相同。它使用用戶代理。如果它是一個瀏覽器,你會得到一個HTML頁面;如果不是,你會得到一個MP3流。
那麼,如何在請求<audio>
標記的資源時編輯瀏覽器發送的請求標頭?我不希望它發送用戶代理。
我正在研究HTML5(無閃存)SHOUTCast客戶端。對於某些流,我可以將<audio>
標記的src
設置爲MP3流,並且播放效果還不錯。更改音頻標籤的用戶代理
但是有一條流不能以這種方式工作。這是因爲該流的URL與蒸汽的index.html
頁面相同。它使用用戶代理。如果它是一個瀏覽器,你會得到一個HTML頁面;如果不是,你會得到一個MP3流。
那麼,如何在請求<audio>
標記的資源時編輯瀏覽器發送的請求標頭?我不希望它發送用戶代理。
我不認爲有一種方法來更改用戶代理。但是,您可以強制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流。
+1,只是一個簡短的提示......當SHOUTcast服務器看到分號';'時,它在內部將'User-Agent'值重寫爲'MPEG OVERRIDE'。這對客戶根本無關緊要。我提到它是因爲您會在服務器日誌中看到很多「MPEG OVERRIDE」。 – Brad
@Brad:這不是我的服務器! :-P –
[我如何使用HTML5播放shoutcast/icecast流?](http://stackoverflow.com/questions/2743279/how-could-i-play-a-shoutcast-icecast-stream-using -html5) – icktoofay