繁体   English   中英

在 iOS 的 ajax 响应中播放 html5 音频

[英]Playing html5 audio in ajax response in iOS

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM