我有一个与 Play a Shoutcast Stream on iPhone with HTML5 非常相似的问题,但有一些差异......
我有一个在 Ubuntu 14.04 LTS 上运行的 Icecast 服务器,正在传输 mp3。该设置完全遵循 Icecast 的文档,从 AWS EC2 上运行的网站上的
<audio>
HTML5 标签链接,并在我的台式机/笔记本电脑浏览器中运行。
但是,当我尝试在 iPhone 或 iPad 上的 iOS 中加载同一网站时,HTML5 音频播放器会加载,显示“正在加载...”几分钟,然后不显示任何内容或显示“错误”。
HTML5代码如下:
<audio controls>
<source src="http://xx.xx.xx.xx:8000/example1.mp3" type="audio/mpeg" />
</audio>
关于为什么这在 iOS 中不起作用的建议或想法?
我终于解决了这个问题,但意识到我从未发布过答案。
我必须将
<audio>
src
值设置为在我的icecast.xml 文件中找到的流挂载点。
所以,在我的icecast.xml 文件中,我有:
<!-- You may have multiple <listener> elements -->
<listen-socket>
<port>8000</port>
<bind-address>123.456.789.012</bind-address>
<shoutcast-mount>/stream</shoutcast-mount>
</listen-socket>
因此,我的 HTML5
<audio>
标签变成了:
<audio src="http://123.456.789.012:8000/stream" />
为了更好地衡量,我还将
mime_type
的 audio/mpeg
和 controls
添加到 <audio>
标签中,尽管这些不是必需的。