- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 YouTube API 来控制幻灯片中的一组播放器。我希望能够根据幻灯片所在的帧停止和播放视频。所以我根据帧的 id 将玩家推送到一个数组中。当名声发生变化时,我会停止当前的名声并开始新的名声。然而,即使在最基本的情况下,我也会收到此错误:
Uncaught TypeError: Object #<S> has no method 'playVideo'
这是简单测试的代码
<!-- WIDGET YOUTUBE VIDEO -->
<div class="widget_youtube_video" id="wyv_1-5">
<iframe id="ytplayer_1-5" width="560" height="315" src="//www.youtube.com/embed/CxW8TLtUMfM?autoplay=0&enablejsapi=1&origin=http://mmgi.localhost/" frameborder="0" allowfullscreen></iframe>
<script type="text/javascript">
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var yt_players = {};
function onYouTubeIframeAPIReady() {
yt_players['1-5'] = new YT.Player('ytplayer_1-5');
yt_players['1-5'].playVideo();
}
</script>
</div><!-- end widget_youtube_video -->
我已经尝试从网址中删除原始标签来检查这是否导致了问题,但它仍然给了我同样的错误。任何帮助将不胜感激,因为我不知道从这里该去哪里。
提前致谢。
编辑:
我还尝试将播放器放入非数组对象中,但也不起作用。
最佳答案
我看到一些可能有用的事情。首先,删除 origin 参数将有助于开发过程,因为如果 A)它不完全匹配,并且 B)有时在本地主机上时,它会阻止对 API 的访问。
正如您所注意到的,即使在您的情况下删除它,API 也没有响应。这是因为创建 YT.player 对象会消耗一些时间,因此您需要在对象完全初始化之前尝试触发 playVideo 方法。相反,您应该利用 YT.Player 对象的 onReady 回调参数,如下所示:
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var yt_players = {};
function onYouTubeIframeAPIReady() {
yt_players['1-5'] = new YT.Player('ytplayer_1-5', {
events: {'onReady': onPlayerReady} // bind to callback for when object is ready
});
}
function onPlayerReady(event) {
event.target.playVideo(); // this is kept generic so the same callback can be used with any player object
}
这是一个工作代码: http://jsfiddle.net/jlmcdonald/dEjXL/
关于javascript - youtube API playVideo、pauseVideo 和 stopVideo 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20249948/
我的网站运行的是Bootstrap 3.0,我尝试在YouTube上托管一个介绍性视频和完整长度的视频。载入页面时,介绍性视频会自动播放,然后我有一个按钮,可以打开一个模态窗口,其中显示带有音频的完整
我有以下 Youtube API 播放器代码。我定义了函数,即 playVideo、stopVideo 等。但它给出了未定义函数的错误。 经过大量研究,我仍然无法找出这个错误。 index.html
我正在尝试使用 YouTube API 来控制幻灯片中的一组播放器。我希望能够根据幻灯片所在的帧停止和播放视频。所以我根据帧的 id 将玩家推送到一个数组中。当名声发生变化时,我会停止当前的名声并开始
我正在尝试创建一个按钮,允许用户单击它并停止嵌入的 YouTube 视频。但是,每当我尝试调用播放器对象本身来使用函数player.playVideo()时,我都会收到一条错误消息,指出该函数未定义。
我是一名优秀的程序员,十分优秀!