YouTube 观看页面显示前贴片广告后播放器 API 问题

Posted

技术标签:

【中文标题】YouTube 观看页面显示前贴片广告后播放器 API 问题【英文标题】:Player API issues after YouTube watch page displas a pre-roll ad 【发布时间】:2013-02-13 11:24:35 【问题描述】:

当浏览 Youtube 页面(例如 http://www.youtube.com/watch?feature=endscreen&NR=1&v=BfOdWSiyWoc)并获得前贴片广告(在剪辑本身之前显示的视频广告)时,整个播放器 API 与原始视频有关。

例如, player.getCurrentTime() 和 player.getDuration() 在显示广告时返回广告数据,但在视频切换到所需视频后,它们一直返回 0(视频正在正确播放并且视频播放器确实显示播放了多少时间以及剪辑有多长)。顺便说一句,如果没有广告,这种行为就不会发生。

此外,如果在所需的视频期间我调用 player.getVideoUrl(),那么我会得到广告网址而不是视频网址(当然只有在有前贴片广告的情况下)。

我尝试以各种方式重置它(停止然后加载所需的视频,克隆播放器并重置它等...)但找不到可行的解决方案,有人知道吗?

【问题讨论】:

你能贴出你正在使用的代码吗? 当然,在前贴片广告期间打开浏览器的开发者工具并在控制台输入以下代码:console.log(document.getElementById('movie_player').getCurrentTime()+ ' == '+document.getElementById('movie_player').getDuration());在广告播放期间,它将返回相关结果,但在跳过广告(或等到它结束)后,实际视频将返回完全相同的代码值 0 == 0 或者如果你跳过,最后一个值由广告展示 【参考方案1】:

根据您的问题,您似乎正在尝试使用 YouTube Player API 来控制 YouTube.com 观看页面上的播放。 (如果不是这种情况,您需要编辑您的问题以阐明您实际在做什么。)

不支持使用 Player API 来控制 YouTube.com 观看页面上的播放。作为浏览器扩展的一部分,也许可以一起破解某些东西,但如果这样做,预计会损坏。

播放器 API 仅用于控制嵌入式 YouTube 播放器在第三方网页上的播放。

【讨论】:

确实它是一个浏览器扩展,到目前为止它工作得非常好,所以我认为我可以将我的代码基于它,我想我会尝试在每次加载播放器时替换播放器一,如果可以正常工作,将更新(并将答案标记为正确的答案)。谢谢!

以上是关于YouTube 观看页面显示前贴片广告后播放器 API 问题的主要内容,如果未能解决你的问题,请参考以下文章

变现利器!一文带你学会应用内添加「贴片广告」

变现利器!一文带你学会应用内添加「贴片广告」

音视频技术开发周刊 | 250

如何在网站上显示类似YouTube的视频播放器?

嵌入式播放器在不清楚的情况下向部分用户显示“请点击此处在 YouTube 上观看此视频”

使用 admob 展示广告后,无法在 iOS 设备上的 ionic 应用程序的 iframe 内播放嵌入的 youtube 视频