无法识别的功能:YouTube嵌入式播放器出现"自动播放"错误

bea*_*ode 15 javascript youtube-api

使用数据3 API加载YouTube iFrame嵌入播放器时,是否有其他人在浏览器控制台中看到此警告?

Unrecognized feature: 'autoplay'.
Run Code Online (Sandbox Code Playgroud)

该错误发生在Google文件中:www-widgetapi.js:110它似乎是一个JavaScript错误(这是来自第110行):

c.setAttribute("allowfullscreen",1);c.setAttribute("allow","autoplay; encrypted-media");
Run Code Online (Sandbox Code Playgroud)

我假设自动播放部分应该只是:

c.setAttribute("autoplay",0);
Run Code Online (Sandbox Code Playgroud)

该文件位于:https://s.ytimg.com/yts/jsbin/www-widgetapi-vflkvQ6Kw/www-widgetapi.js

该错误甚至发生在他们的开发人员演示页面上:https://developers.google.com/youtube/youtube_player_demo

人们如何向Google报告这些内容?

Dja*_*ave 11

我想知道这是否:

https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

您可能已经注意到,Web浏览器正朝着更严格的自动播放策略发展,以改善用户体验,最大限度地减少安装广告拦截器的动机,并减少昂贵和/或受限网络上的数据消耗.这些更改旨在更好地控制用户的回放,并使具有合法用例的发布者受益.

Chrome的自动播放政策很简单:

  • 始终允许静音自动播放.
  • 如果出现以下情况,则允许自动播放声音
    • 用户已与域进行了互动(点击,点击等).
    • 在桌面上,用户的媒体参与度指数阈值已超过,这意味着用户之前已播放带有声音的视频.
    • 在移动设备上,用户已将该网站添加到他或她的主屏幕.
    • 顶部框架可以将自动播放权限委托给他们的iframe,以允许自动播放声音.

跟它有什么关系.我想出了同样的问题,文章提到自动播放从2018年1月开始的方式(现在!)将会改变.

我已经删除了代码中的自动播放,而是使用了本答案中描述的技术

像这样:

player = new YT.Player( videoID , {
    videoId: youtubeID, // the ID of the video (mentioned above)
    playerVars: {
        // autoplay: 1, // start automatically
        controls: 0, // don't show the controls (we can't click them anyways)
        modestbranding: 1, // show smaller logo
        loop: 1, // loop when complete
        playlist: youtubeID // required for looping, matches the video ID
    },
    events : {
        'onReady' : onPlayerReady
    }
});

function onPlayerReady(event) {
    player.mute();
    player.playVideo();
}
Run Code Online (Sandbox Code Playgroud)

我不确定这是否构成一个"答案",所以如果你不知道我就知道了,我会删除它.