播放SHOUTcast pls文件-pls文件中的URL指向HTML页面


Playing SHOUTcast pls file - URL in pls file lead to HTML page?

我正在用自制的flash播放器播放一些SHOUTcast电台。因为flash播放器本身不理解pls文件,我用PHP创建了一个pls阅读器,打开并读取pls文件并重定向到pls文件中列出的文件/链接。(我只请求mpeg/音频流(。

该文件的flash播放器请求(在同一域上(将被定向到此pls文件中列出的流。

例如,当在PHP中"打开"一个pls文件时,这会给出以下信息(通过http://yp.shoutcast.com/sbin/tunein-station.pls?id=<someid>(:

[playlist]
numberofentries=1
File1=http://132.241.56.35:8004
Title1=(#1 - 0/10) KCSC.ASChico.com - 24Kbps MP3
Length1=-1
Version=2

PHP将请求重定向到http://132.241.56.35:8004,但没有听到任何消息。通过在浏览器中打开它来测试它的存在,它就是一个HTML页面,一个SHOUTcast D.N.a.S.状态页面。例如,当在winamp中打开它时,它会播放流。我错过了什么吗?

有些重定向直接在flash播放器中播放,所以看起来我的方法还可以。

我必须做些什么才能让它运行起来?为什么假设是流的链接是HTML页面?

SHOUTcast服务器检查您的用户代理字符串,看看它是否是浏览器。原因是当你用浏览器访问SHOUTcast服务器的URL时,你会得到管理页面。它通过检查单词Mozilla是否在字符串中来进行检测。

由于您的Flash播放器将使用浏览器的用户代理字符串,SHOUTcast服务器会向您发送管理控制台而不是流。

您可以通过在请求的路径末尾附加分号;来轻松覆盖此行为。

http://132.241.56.35:8004/;

这将强制SHOUTcast服务器忽略您的用户代理字符串,转而使用MPEG OVERRIDE,该字符串不包含Mozilla,并且被假定为音频播放器。