javascript - 在 iOS 中以 ajax 响应播放 html5 音频

标签 javascript ios mobile-safari html5-audio

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

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

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

最佳答案

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

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

关于javascript - 在 iOS 中以 ajax 响应播放 html5 音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10948081/

相关文章:

ios - 异步下载 - 右模式

javascript - 移动Safari : Auto Scroll/Pan to specific position on page after reload

javascript - 如何自动重新绑定(bind) Bootstrap 工具提示?

Javascript,if 输入类型范围条件

ios - 如何在后台状态下获取来电/去电事件

ios - 如何在 iOS 9 中使用带有 Slide Over 和 Split View 的 AVCaptureSession?

ios - 使用 SFSafariViewController 从 UITextView 自动检测到的链接打开网站

javascript - jQuery 和 Safari 的一个问题

javascript - 在 CodeIgniter 中包含 Javascript 文件

javascript - 如何自定义传单 map CSS