我正在尝试修复我页面上的 Youtube 播放器,该播放器自本月 (08/2016) 以来似乎已损坏。我看过 Google 关于 2016 年 11 月 8 日更新的发行说明,但找不到任何相关内容。
基本上,问题是我无法使用 YouTube Player API playVideo() 函数播放视频
当我渲染页面时,这是我用来容纳播放器的 html 标记:
<object type="application/x-shockwave-flash" data="//www.youtube.com/v/XYZ&enablejsapi=1&controls=0&rel=0&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 播放器实现有非常基本的了解。
有人愿意帮忙吗?
最佳答案
根据the documentation of the JavaScript API ,JS API 已弃用:
The deprecation of the YouTube JavaScript Player API was announced on January 27, 2015. YouTube Flash embeds have also been deprecated. See the deprecation policy for more information. Please migrate your applications to the IFrame API, which can intelligently use whichever embedded player – HTML () or Flash () – the client supports.
我会听从他们的建议和 migrate to the iFrame API ,特别是因为 Flash(不再)是一种现代技术,您会切断那些浏览器不支持它的用户的联系(就像大多数移动用户一样)。
关于javascript - YouTube 播放器停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39035114/