首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >播放SHOUTcast pls文件- URL在pls文件中引导到HTML页面?

播放SHOUTcast pls文件- URL在pls文件中引导到HTML页面?
EN

Stack Overflow用户
提问于 2013-04-08 21:43:04
回答 1查看 2.9K关注 0票数 0

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

flashplayer对此文件的请求(在同一个域上),并将被定向到此pls文件中列出的流。

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

代码语言:javascript
复制
[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中打开它时,它会播放流。我是不是错过了什么?

一些重定向直接在flashplayer中播放,所以我的方法似乎是可以的。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-09 22:12:25

SHOUTcast服务器检查您的用户代理字符串,以确定它是否是浏览器。这样做的原因是,当您使用浏览器转到SHOUTcast服务器的URL时,您会看到管理页面。它通过检查单词Mozilla是否在字符串中来进行此检测。

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

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

代码语言:javascript
复制
http://132.241.56.35:8004/;

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15880702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档