gpt4 book ai didi

api - Youtube iframe API出现问题

转载 作者:行者123 更新时间:2023-12-03 02:33:13 25 4
gpt4 key购买 nike

我目前有一个博客,当您使用youtube iframe加载页面时会播放背景音乐:

<iframe id="background-music" width="0" height="0" src="https://www.youtube.com/embed/VOR8reYWvx8?rel=1&autoplay=1&enablejsapi=1" xframeborder="0" allowfullscreen></iframe>

我也手动导入了youtube iframe API:
<script src="http://url_to_script/iframe_api.js"></script>

我的博客上还有其他歌曲,每当我在其中播放其他歌曲之一时,我都想暂停背景歌曲。按照 https://developers.google.com/youtube/iframe_api_reference#Examples上的说明,我有以下代码,但它根本不起作用。
$(".tumblr_audio_player").contents().find('.play_button').click(function() 
console.debug(YT);

player = new YT.player("background-music", {
events: {
'onReady': function() { console.log("player is ready") },
'onStateChange': function() { console.log("player has changed state"); }
}
});
player.stopVideo();

我不确定自己在做什么错。我不知道是否需要onReady和onStateChange(我不需要它们),但是如果没有第二个对象参数,它就无法工作,因此我不确定该怎么做。

最佳答案

好吧,我知道发生了什么事。该代码大部分是正确的,但是,初始化YT.Player对象需要花费时间,而这正是onReady回调的目的。

它可以确保在执行任何操作之前初始化YT对象。如果将pauseVideo放在onReady回调中,它将正常工作。因此,要回答我的原始问题,onReady绝对必要:

player = new YT.Player("background-music", 
{ events: {
onReady: function() {
player.stopVideo();
}
}
});

关于api - Youtube iframe API出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39546372/

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