YouTube自动播放无效

Bew*_*red 21 youtube iframe

我的网站有一个播放多个视频的播放器.我一直在调整代码,将YouTube的iframe API用作播放器.我无法让视频自动播放.这是相关的代码:

    <body>
          <iframe id="existing-iframe-example"
              width="640" height="360"
              src="https://www.youtube.com/embed/-SFcIUEvNOQ?   autoplay=1&;enablejsapi=1"
              frameborder="0"
              autoplay="1"
              style="border: solid 4px #37474F"
              ></iframe>
        <div id="player"></div>

        <div id="movieButtons" class="movieButtons">
        <button class="movieButton" data-movieAdr="1-VjtC939_Q">Memorial Slide Show</button>
Run Code Online (Sandbox Code Playgroud)

其余的是标准的YouTube iframe API脚本.您可以看到我尝试将Autoplay = 1设置为iframe参数并作为iframe src的一部分.我也尝试将它包含在按钮中的数据中.这些似乎都不起作用.单击按钮时视频会加载,但它们不会自动播放.

Fab*_*Fab 54

它自2018年4月以来一直没有用,因为谷歌决定更好地控制用户的播放.您只需要在网址中添加&mute = 1即可. 自动播放政策更改

<iframe id="existing-iframe-example"
          width="640" height="360"
          src="https://www.youtube.com/embed/-SFcIUEvNOQ?autoplay=1&mute=1&enablejsapi=1"
          frameborder="0"
          style="border: solid 4px #37474F"
          ></iframe>
Run Code Online (Sandbox Code Playgroud)

更新:

Chrome 73中的音频/视频更新

Google表示:现在所有桌面平台都可以使用Progressive Web Apps(PWA),我们正在将我们在移动设备上的规则扩展到桌面:现在允许安装PWA的声音自动播放.请注意,它仅适用于Web应用程序清单范围内的页面. https://developers.google.com/web/updates/2019/02/chrome-73-media-updates#autoplay-pwa


Dze*_*jms 49

mute=1或者@Fab的muted=1建议会起作用.但是,如果您希望启用带声音的自动播放,则应添加到嵌入式设备.allow="autoplay"<iframe>

<iframe type="text/html" src="https://www.youtube.com/embed/-ePDPGXkvlw?autoplay=1" frameborder="0" allow="autoplay"></iframe>
Run Code Online (Sandbox Code Playgroud)

这是官方支持并记录在Google的2017年自动播放政策变更中

Iframe委派功能策略允许开发人员有选择地启用和禁用各种浏览器功能和API的使用.一旦来源获得了自动播放权限,它就可以将该权限委托给具有自动播放新功能策略的跨源iframe.请注意,默认情况下,在同源iframe上允许自动播放.

<!-- Autoplay is allowed. -->
<iframe src="https://cross-origin.com/myvideo.html" allow="autoplay">

<!-- Autoplay and Fullscreen are allowed. -->
<iframe src="https://cross-origin.com/myvideo.html" allow="autoplay; fullscreen">
Run Code Online (Sandbox Code Playgroud)

禁用自动播放的功能策略时,在没有用户手势的情况下调用play()将拒绝带有NotAllowedError DOMException的promise.并且还将忽略autoplay属性.

  • 请注意,只有当有人已经与网站交互时,这才适用于声音启用。因此,如果他们点击进入包含视频的页面,视频就会自动播放并伴有声音。如果他们直接登陆页面,那么它根本不会自动播放。因此,选择似乎是对所有静音的人自动播放,或对一些有声音的人自动播放,而不是直接登陆页面的人。 (4认同)
  • 这在台式机上工作正常,但在移动设备上不起作用。 (2认同)

YoJ*_*pan 7

此代码允许您自动播放 iframe 视频

<iframe src="https://www.youtube.com/embed/2MpUj-Aua48?rel=0&modestbranding=1&autohide=1&mute=1&showinfo=0&controls=0&autoplay=1"  width="560" height="315"  frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

这是工作小提琴

  • 这适用于桌面,但对于移动设备,它不起作用。 (8认同)