我们正在实施适用于浏览器的网络播放器。我们通过java脚本设置视频源,并调用play()在浏览器上播放视频。
我们描述了视频元素,如下所示。
<video id="videoID" preload="none" tabindex="1"></video>
这在Chrome上正常运行,但视频无法在Safari(版本:11.0.3)上播放,并且如下所示抛出未处理的承诺拒绝错误。
未处理的Promise拒绝:NotAllowedError(DOM例外35):当前上下文中的用户代理或平台不允许该请求,可能是因为用户拒绝了权限
如果我将safari中的自动播放设置更改为“允许所有自动播放”,则视频播放正常,没有任何问题。
我尝试将自动播放属性也添加到视频元素,但它无效。
期望是用户不应该做任何播放视频的事情。当用户访问URL时,它应该自动播放视频(带音频)而无需任何用户操作。任何人都可以告诉我,如果有任何方式在javascript中实现这一点?
答案 0 :(得分:3)
据我所知,这不能仅通过Javascript实现。在Safari(没有您提到的设置)上,视频只能通过用户交互启动。这是为了避免视频根据用户的意愿自动播放。