Iva*_*anH 4 html safari internet-explorer cross-browser mime-types
我需要在 IE(9+) 和 Safari (iPad, iPhone) 中播放 .m4a 文件(记录在 iPhone 上)。我在设置正确的 MIME 类型时遇到问题。为了在 IE10 中播放,我需要设置 audio/mp4但用于 Safari audio/aac。
随着audio/mp4我开始 Cannot play audio file使用 iPad。随着audio/aac我进入Error: Unsupported audio type or invalid file pathIE
有没有我可以为两者设置的类型?
<audio controls="controls" autoplay="autoplay">
<source src="play.aspx?filename=sound.m4a" type="audio/mp4" />
</audio>
Run Code Online (Sandbox Code Playgroud)
笔记
使用替代播放器对我来说不是解决方案。
我通过 .aspx 页面提供文件,以便我可以控制 HTTP 标头。
从使用 m4a、oga、mp3 和 Flash观察页面HTML 5 Audio Across All Browsers看来,可能的解决方案是给出type="audio/mp4"并且没有内容类型的标题。然而,在 aspx 中删除 HTTP 标头对于我试图解决的问题来说太复杂了(请参阅在没有 UrlScan 的情况下在 Azure/IIS7 中删除/隐藏/禁用过多的 HTTP 响应标头)。
音频仍处于工作草案中,因此浏览器体验会有所不同。
话虽如此,最流行的 mime 类型是audio/x-m4a. 某些站点显示audio/m4a-latm为有效的m4a音频mime 类型,但在撰写本文时,即使 Chrome 也无法识别该 mime 类型。
您可以在不同的浏览器中尝试此代码段以查看它是否有效 - 我在 IE11、Chrome (v37) 和 IE9(通过开发工具模拟)中对其进行了验证。
我还发现(个人观察)在 iPhone 上录制的音频大部分时间都不会在网络上播放。几乎所有浏览器都说该文件无效,如果您下载录制的文件,它甚至无法在媒体播放器(例如 Windows Media Player)中播放。我怀疑 iOS 核心音频应该归咎于此,但还没有找到任何结论。虽然从 Android 录制的音频工作正常。
在这一点上,使用闪存回退似乎是最好的选择(尽管对iHateFlash设备没有帮助)。
| 归档时间: |
|
| 查看次数: |
15162 次 |
| 最近记录: |