经过大量谷歌搜索和研究,我发现 iOS 会阻止自动播放 html5 音频和视频。音频和视频只能作为对单击事件的响应来播放。
现在,我有另一个问题。我经营着一个音乐网站,里面有很多用户生成的播放列表。单击播放后,我发出一个 ajax 请求来获取轨道 URL,然后加载并播放它们。 iOS 不会将此视为播放音乐的同步点击事件,因此音乐不会在点击播放按钮时开始播放。我必须单击播放器控件的暂停和播放按钮才能开始播放(基本上只使用 pause() 和 play())。
我只是想不出该怎么办。在点击事件之前预先加载所有 MP3 URL 是不可行的。有没有其他方法可以做到这一点?
最佳答案
我知道这是一个古老的问题,但对于遇到此问题的人来说,有一个直接的解决方案,即直接从点击处理程序播放一段短促、无声的声音。理想情况下,这将是您已经获取并缓存的声音文件。
之后,您将能够从其他处理程序启动播放,即使是那些没有直接用户交互的处理程序。 (例如您的 AJAX/XHR 响应)
关于javascript - 在 iOS 中以 ajax 响应播放 html5 音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10948081/