如何在IE(9+)和Safari(Pad)中使用HTML5音频播放.m4a?

时间:2013-08-16 09:11:41

标签: html5 internet-explorer safari cross-browser mime-types

我需要在IE(9+)和Safari(iPad,iPhone)中播放.m4a文件(在iPhone上录制)。我在设置正确的MIME类型时遇到问题。要在IE10中播放,我需要设置audio/mp4,但需要设置Safari audio/aac
audio/mp4我在iPad上获得了Cannot play audio file。 使用audio/aac我在IE中获得Error: Unsupported audio type or invalid file path

我可以为两者设置一种类型吗?

<audio controls="controls" autoplay="autoplay">
   <source src="play.aspx?filename=sound.m4a" type="audio/mp4" />
</audio>

注释

使用替代播放器不适合我。

我通过.aspx页面提供文件,以便我可以控制HTTP标头。

通过观察页面HTML 5 Audio Across All Browsers using m4a, oga, mp3 and Flash,似乎可能的解决方案是提供type="audio/mp4"和NO conten-type标头。但是,在我尝试解决的问题中,删除aspx中的HTTP标头过于复杂(请参阅Removing/Hiding/Disabling excessive HTTP response headers in Azure/IIS7 without UrlScan)。

1 个答案:

答案 0 :(得分:1)

音频仍处于工作草案中,因此浏览器体验会有所不同。

话虽如此,最流行的哑剧类型是audio/x-m4a。有些网站将audio/m4a-latm显示为m4a音频的有效mime类型,但截至撰写本文时,即使Chrome也无法识别该mime类型。

您可以在不同的浏览器中尝试使用此代码段来查看它是否有效 - 我在IE11,Chrome(v37)和IE9(通过Dev Tools模拟)中进行了验证。

Audio Tag sample

我还发现(个人观察)iPhone上录制的音频大部分时间都不在网络上播放。几乎所有浏览器都说该文件无效,如果您下载录制的文件,它甚至不能在媒体播放器中播放(例如Windows Media Player)。我怀疑iOS核心音频应该归咎于此,但还没有找到任何结论。从Android录制的音频工作正常。

此时,闪存后备似乎是最好的选择(虽然不会对 iHateFlash 设备有帮助。)

相关问题