音频流URL和解决流URL的问题

Joh*_*ack 5 java android

我以为我会分享我经历过的事情.这不是一个问题.我们解决了一个问题.我确定旧的媒体服务器猎犬知道这一点.我没有.我希望这能为您节省时间.

问题:我的客户的Shoutcast列表消失但他们的提供商却没有.(为了方便起见,Shoutcast列出了许多电台.我的客户曾经是:http://yp.shoutcast.com/sbin/tunein-station.pls?id = 3012xxx然后它消失了!他们的电台没有.

我们留下了车站为我们提供的几个URL,但没有一个通过我们的播放器播放.在每个.pls,.ram文件中,列出了相同的URL(请参阅注释) - 如下所示:

http://74.53.186.162:9082 /

我们是如何解决这个问题的?

在上面的Shoutcast控制台页面上,有一个监听链接.它指的是扩展名为.pls的URL.它还显示了采样率,当前侦听器的数量等.该URL工作正常.

让这个有趣的是,位于该URL的文件实际上是一个带有原始URL的.pls文本文件(类似于http://74.53.186.162:9082/)!

我学到了什么?

  1. Shoutcast服务器知道哪种客户端正在访问他们的数据.我会假设IceCast服务器也是如此.我怎么知道的?循环URL引用.这意味着您的播放器首先解析文本文件,就像您的浏览器查看mime类型一样.
  2. 您在代码中使用的媒体播放器类可能非常愚蠢.他们对哑剧类型,比特率,扩展名等敏感.
  3. 如果我有.pls或其他媒体文件,我可以在本地使用它们.
  4. 硬编码的IP地址和以前一样糟糕.不幸的是,开发人员对此没有多少控制权.

注意:带有.pls,.ram等的音频流是文本文件,其中包含指向实际流的URL.文本文件也有其他元数据.如果您从txt文件中获取原始URL并启动它,您可能会获得一个Shoutcast Server接口,该接口为您提供播放器可能使用的流信息.(查看广播电台的网站时,有时可以在播放器的启动参数中找到流URL.有时它们可​​能不同.)