Youtube api Youtube API在PlayerStateChange上触发两次重播?

Youtube api Youtube API在PlayerStateChange上触发两次重播?,youtube-api,youtube-iframe-api,Youtube Api,Youtube Iframe Api,我注意到我正在处理的一个项目中有一些奇怪的行为,所以我决定隔离我的变量,直接从youtube iframe API文档中获取基本代码,我仍然看到同样的情况。 当我的视频第一次播放时,一切正常。但是如果我点击“replay”按钮,onPlayerStateChange(event.data==1/“playing”)会触发两次,两次都在对方的上方。 你知道为什么会发生这种情况吗?我怎样才能让“播放”的“播放状态改变”在重播时只触发一次 // 2. 此代码异步加载IFrame播放器API代码。

我注意到我正在处理的一个项目中有一些奇怪的行为,所以我决定隔离我的变量,直接从youtube iframe API文档中获取基本代码,我仍然看到同样的情况。 当我的视频第一次播放时,一切正常。但是如果我点击“replay”按钮,onPlayerStateChange(event.data==1/“playing”)会触发两次,两次都在对方的上方。 你知道为什么会发生这种情况吗?我怎样才能让“播放”的“播放状态改变”在重播时只触发一次


// 2. 此代码异步加载IFrame播放器API代码。
var tag=document.createElement('script');
tag.src=”https://www.youtube.com/iframe_api";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
// 3. 此函数用于创建(和YouTube播放器)
//API代码下载后。
var播放器;
函数onyoutubeiframeapiredy(){
player=新的YT.player('player'{
高度:“390”,
宽度:“640”,
videoId:“cOgj_5lYijo”,
活动:{
“onStateChange”:onPlayerStateChange
}
});
}
// 5. 当播放器的状态改变时,API调用此函数。
函数onPlayerStateChange(事件){
if(event.data==1){
log(“onplayerstate更改发生:”,事件)}
}

我最终得到了一个修复(我在我的代码中添加了一个检查,以确保它从上次播放到现在至少已经500毫秒了),并且这一切正常,我只希望我知道最初的问题是我的代码有问题,还是youtube的API有问题。我最终得到了一个修复(我在我的代码中添加了一个检查,以确保它与上次播放至少相隔500毫秒)这是有效的,我只希望知道最初的问题是我的代码有问题,还是youtube的API有问题。