【问题标题】:Playing html5 audio in ajax response in iOS在 iOS 的 ajax 响应中播放 html5 音频
【发布时间】:2012-06-08 11:36:05
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript ios mobile-safari html5-audio


    【解决方案1】:

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

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

    【讨论】:

    • 太棒了。这是很久以前的事了,但我不知道为什么我没有想到这一点。谢谢!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2020-05-27
      • 2014-06-10
      • 2021-04-13
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 2019-12-14
      相关资源
      最近更新 更多