gpt4 book ai didi

Youtube API 检测广告

转载 作者:行者123 更新时间:2023-12-03 05:20:10 24 4
gpt4 key购买 nike

有没有办法检测 youtube 广告何时播放以及何时结束?

类似:

function onPlayerStateChange(event) {
if(event.data == advertisement) {
console.log("Advertisement is playing");
}
if(event.data == advertisementIsOver) {
console.log("Advertisement has finished playing");
}
}

我在这里看到了问题:

What is the YouTube's PlayerState during pre-roll ad?

我想知道 youtube api 是否有任何更新?另外,有人可以提供一些 youtube 广告检测器的代码吗?我不确定在播放广告时如何可靠地捕捉到。

最佳答案

有点晚,但迟到总比没有好......

我目前正在开发专门针对 YouTube 视频播放操作的 chrome 扩展程序。这是我发现的一种检测广告是否正在播放的方法:

注意:我使用的所有类和 Id 都可能随着 YouTube 开发者的更改而更改。

1) 先获取html5视频元素:var mainVideo = document.getElementByClassName("html5-main-video")。目前没有它的元素 ID,但它总是有类 html5-main-video

2) 为视频准备好播放设置一个事件处理程序,它将检查它是否是广告,并在新视频加载并准备好播放时触发 mainVideo.oncanplay = isVideoAnAd.

3) 当一个广告正在播放时,进度条是黄色的,或者更具体地说是 rgb(255, 204, 0) 并且这个属性很容易使用 jQuery 进行比较

function isVideoAnAd () {
if($(".ytp-play-progress").css("background-color") === "rgb(255, 204, 0)
{
return true;
}}

要获得更可靠的结果,您还可以检查 movie_player 元素 classList 以查看它是否 contains("ad-showing")。顺便说一下,movie_player就是id。

提示:我通过检查元素找到了所有这些

这确实是我发现无需深入 YouTube API 即可检测广告的唯一可靠方法。

关于Youtube API 检测广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39985456/

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