在 iOS 中的 ajax 响应中播放 html5 音频
Playing html5 audio in ajax response in iOS
经过大量的谷歌搜索和研究,我发现iOS阻止了html5音频和视频的自动播放。音频和视频只能作为对点击事件的响应进行播放。
现在,我又有了一个问题。我经营着一个音乐网站,里面有很多用户生成的播放列表。单击播放后,我发出 ajax 请求以获取跟踪 URL,然后加载它们并播放它们。iOS 不会将此视为播放音乐的同步单击事件,因此单击播放按钮时不会开始播放音乐。我必须单击播放器控件的暂停和播放按钮才能使其开始播放(基本上只使用 pause() 和 play())。
我只是想不出该怎么办。 在点击事件之前预先加载所有 MP3 URL 是不可行的。还有其他方法可以完成此操作吗?
我知道这是一个古老的问题,但对于遇到这个问题的人来说,有一个简单的解决方案,即直接从点击处理程序播放简短、无声的声音。 理想情况下,这将是您已经获取和缓存的声音文件。
之后,您将能够从其他处理程序启动播放,即使是那些没有直接用户交互的处理程序。(例如您的 AJAX/XHR 响应)
好的,经过一番胡闹和研究,我发现一键获取和播放播放列表的唯一方法是使用同步请求而不是 AJAX 请求。页面将在请求加载时冻结,但这似乎是唯一的出路。
相关文章:
- 未能加载,因为找不到支持的源.当播放HTML5音频元素时
- 使用Javascript播放HTML5视频
- 如果src设置为静态,则会播放html5音频,但如果设置为动态,则不会播放
- 使用 Javascript 循环播放 HTML5 音频
- 播放Html5视频并在特定时间点暂停
- 当我选择菜单项时,如何播放html5播放器的视频
- 在没有文件的情况下播放HTML5中javascript的音频-使用缓冲区
- 在iPad上播放HTML5视频并搜索
- 当设备被锁定时,停止播放HTML5音频(Android和iOS)
- 播放HTML5视频时打开弹出窗口
- 使用 Javascript 播放 HTML5 视频
- JQuery 从第二个零开始播放 html5 视频,但如果用户暂停视频,则保留当前帧
- 在 iOS 中的 ajax 响应中播放 html5 音频
- Chrome 无法在重复的标签上播放 html5 视频
- 在移动浏览器上播放 HTML5 音频文件时出现延迟
- 尝试循环播放 HTML5 视频数组
- 动态加载和播放 HTML5 视频
- 播放HTML5视频时显示控件
- 检查是否正在使用jquery播放HTML5视频
- 自动播放HTML5音频元素&动画