我创建了一个非常简单且基本的html5音频播放器,实际上不超过:
<audio src="[url-to-m3u]" controls>
但我遇到两个问题,这个简单的音频标签可在Chrome上使用,但不能在Safari 7中使用
第二个是它不能在我的iPhone iOS7上运行,也不能在HTC Android 2.3上运行
播放列表元素是带有的mp3内容类型:audio/mpeg
最佳答案
我猜想对m3u文件格式的支持将分散在HTML5媒体兼容的浏览器中。
它应该在iOS上播放:尝试将mime类型的音频/mpegURL或application/x-mpegURL添加到您的服务器(如果尚未完成)以及我们的源代码。
<audio controls>
<source src="[url-to-m3u]" type="audio/mpegURL" />
</audio>
您需要使用canPlayType方法检查对mp3和m3u的浏览器支持-示例:
var supportsMp3 = false;
var myAudio = document.createElement('audio');
if (myAudio.canPlayType('audio/mpeg') !== ""){supportsMp3 = true;}
您需要先检查音频/mpegURL和应用程序/x-mpegURL以及音频/mpeg,然后再交付m3u文件。我建议您针对情况使用后备,因为并非所有浏览器都将支持m3u文件。
例如,m3u文件未出现在supported media matrix for Android中。
编辑:,可以使用支持m3u文件的JW player来扩大浏览器的覆盖范围。否则,尝试找到一个开放的source/free flash player作为后备。
同样,您的m3u文件也可以使用JS解析以提取mp3 URL(m3u文件通常仅引用项目的播放列表)。之后,只是使用正确的mp3 URL动态更改音频标签的src。