gpt4 book ai didi

youtube-api - 如何在youtube embed api中收听seek事件

转载 作者:行者123 更新时间:2023-12-04 03:37:06 25 4
gpt4 key购买 nike

嗨,我正在使用 youtube iframe 嵌入 API。我想按用户跟踪搜索视频事件。请帮助我如何跟踪这个。

最佳答案

没有简单的方法可以单独使用 api 跟踪事件。

你可以做的是在间隔内运行一个 javascript 函数,并检查测量的时间差是否与预期的不同

这是一个示例代码:

<html>
<body>
<div id="player"></div>
<script>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";

var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var player;

function onYouTubeIframeAPIReady() {
console.log("ready");
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'cRmNPE0HwE8',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
//console.log(player);
}

function onPlayerReady(event) {
event.target.playVideo();

/// Time tracking starting here

var lastTime = -1;
var interval = 1000;

var checkPlayerTime = function () {
if (lastTime != -1) {
if(player.getPlayerState() == YT.PlayerState.PLAYING ) {
var t = player.getCurrentTime();

//console.log(Math.abs(t - lastTime -1));

///expecting 1 second interval , with 500 ms margin
if (Math.abs(t - lastTime - 1) > 0.5) {
// there was a seek occuring
console.log("seek"); /// fire your event here !
}
}
}
lastTime = player.getCurrentTime();
setTimeout(checkPlayerTime, interval); /// repeat function call in 1 second
}
setTimeout(checkPlayerTime, interval); /// initial call delayed
}
function onPlayerStateChange(event) {

}
</script>
</body>
</html>

关于youtube-api - 如何在youtube embed api中收听seek事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29293877/

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