gpt4 book ai didi

javascript - youtube API playVideo、pauseVideo 和 stopVideo 不起作用

转载 作者:行者123 更新时间:2023-11-28 15:51:53 26 4
gpt4 key购买 nike

我正在尝试使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com