我创建了一个非常简单且基本的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。

10-08 03:35