Youtube播放器停止工作

时间:2016-08-19 09:05:40

标签: javascript youtube youtube-api youtube-iframe-api

我正试图在我的页面上修补Youtube播放器,这个月以来似乎已经破了(08/2016)。我已经看过谷歌关于2016年8月11日更新的发布说明,但找不到任何相关内容。

基本上,破坏的是我无法使用YouTube Player API playVideo()函数播放视频

当我渲染页面时,这是我的html标记来容纳玩家:

<object type="application/x-shockwave-flash" data="//www.youtube.com/v/XYZ&amp;enablejsapi=1&amp;controls=0&amp;rel=0&amp;playerapiid=XYZ" width="100%" height="100%" id="XYZ" style="visibility: visible;"><param name="allowScriptAccess" value="always"></object>

我正在尝试使用此功能运行:

self.PlayYouTubeVideo = function(videoId) {
    var video = $('#' + videoId)[0];

    setTimeout(function() {
        if (typeof video.playVideo === 'function') {
            video.playVideo();

            ...further code...

        }
     }, 500);
 };

不幸的是每次检查时,video.playVideo值总是“未定义”。我延长了超时但没有任何区别。显然这个代码在上个月(07/2016)工作正常并且最近刚刚破产。我从来没有写过它,并且对Youtube播放器的实现有非常基本的了解。

任何人都愿意帮忙吗?

1 个答案:

答案 0 :(得分:2)

根据the documentation of the JavaScript API,JS API 已弃用

  

2015年1月27日宣布弃用YouTube JavaScript播放器API.YouTube Flash嵌入版也已被弃用。有关详细信息,请参阅弃用策略。请将您的应用程序迁移到IFrame API,它可以智能地使用客户端支持的任何嵌入式播放器 - HTML()或Flash()。

我遵循他们的建议和migrate to the iFrame API,特别是因为Flash不再是现代技术(你了),你会切断那些浏览器不支持它的人(就像大多数移动设备一样)用户)。