在iPad上加载时,m4a文件没有收到状态码(HTTPS)

时间:2016-04-08 11:21:41

标签: android html ios https

我正在尝试跨设备使用HTML5音频,并设法通过使用以下代码使其在桌面计算机上运行:

<audio id="audio-1" preload="auto" >
    <source src="~/Assets/audio/file1.m4a" type="audio/mpeg">
    <source src="~/Assets/audio/file1.ogg" type="audio/ogg">
</audio>

<audio id="audio-2"  preload="auto">
    <source src="~/Assets/audio/file2.m4a" type="audio/mpeg">
    <source src="~/Assets/audio/file2.ogg" type="audio/ogg">
</audio>

<audio id="audio-3" preload="auto">
    <source src="~/Assets/audio/file3.m4a" type="audio/mpeg">
    <source src="~/Assets/audio/file3.ogg" type="audio/ogg">
</audio>

然而,在设备(Android 5.1.1和iOS 9)上,声音无法播放。

调试iPad时,我注意到所有音频文件都发送了GET请求,但没有返回状态代码。

iPad Safari debug screen 我读过IBM的一篇文章,关于AAC和OGG的组合是跨浏览器兼容性的最佳来源:http://www.ibm.com/developerworks/library/wa-ioshtml5/#resources所以我希望它不是导致问题的文件类型。

我还读到,在设备上通过HTTPS提供文件可能存在问题。

我不知道的是,是否有解决方法让这些文件在设备上播放? (它们是在JS中使用原生HTML5音频方法的事件触发的)

1 个答案:

答案 0 :(得分:0)

我发现你无法在移动设备上自动播放声音。您必须进行用户交互,例如按下按钮才能启动操作。

http://codetheory.in/fixing-html5-audio-problems-in-ios-and-android-mobile-browsers-to-overcome-the-limitations/