1

经过大量的谷歌搜索和研究,我发现 iOS 阻止了 html5 音频和视频的自动播放。音频和视频只能作为对点击事件的响应来播放。

现在,我还有另一个问题。我经营一个音乐网站,里面有很多用户生成的播放列表。单击播放后,我发出 ajax 请求以获取曲目 URL,然后加载并播放它们。iOS 不将此视为播放音乐的同步单击事件,因此单击播放按钮时音乐不会开始播放。我必须单击播放器控件的暂停和播放按钮才能开始播放(基本上只使用 pause() 和 play())。

我只是想不出该怎么办。在点击事件之前预先加载所有 MP3 URL 是不可行的。有没有其他方法可以完成这项工作?

4

2 回答 2

1

好的,经过一番胡闹和研究,我发现一键获取和播放播放列表的唯一方法是使用同步请求而不是 AJAX 请求。该页面将在请求加载时冻结,但这似乎是唯一的出路。

于 2012-06-11T06:18:27.747 回答
1

我知道这是一个古老的问题,但对于遇到这个问题的人来说,有一个简单的解决方案,即直接从点击处理程序播放短而无声的声音。理想情况下,这将是您已经获取并缓存的声音文件。

之后,您将能够从其他处理程序开始播放,即使是那些没有直接用户交互的处理程序。(例如您的 AJAX/XHR 响应)

于 2019-11-03T07:53:45.990 回答