popcorn.js:在移动浏览器 youtube 上没有出现“播放”按钮

Posted

技术标签:

【中文标题】popcorn.js:在移动浏览器 youtube 上没有出现“播放”按钮【英文标题】:popcorn.js: on mobile browser youtube "play" button does not appear 【发布时间】:2013-05-21 02:25:18 【问题描述】:

我在 YouTube 视频中成功使用 Popcorn.js 已经有一段时间了。从最近开始,在移动浏览器上(在我的 iPad 2 上)“播放”按钮不再像过去那样出现。视频将开始加载,您可以看到标题,但随后出现的不是突出的“播放”按钮,而是黑屏,中间有一个微小的白点。检查源代码后,似乎 iFrame 的视频包装器中的视频采用了一种 CSS 样式,该样式使视频的高度为 1px。

如果你按下那个几乎看不见的点,视频就会播放,爆米花代码也会正常执行。这几乎是一个交易破坏者。也许这是 YouTube 的事情,而不是 Popcorn.js 的事情,但我只是在寻找方向。

查看这个基于 Popcorn.js 示例之一的简单 jsfiddle,例如:http://jsfiddle.net/Nzhpa/1/

代码:

var pop = Popcorn.smart("#container", "http://youtu.be/vDvmsTECAk4");

pop.footnote(
    start: 1,
    end: 5,
    text: "Works with youtube!",
    target: "footnote-div"
);

pop.play();

【问题讨论】:

【参考方案1】:

是 ipad 上的自动播放功能破坏了它。

/popcorn-js/wrappers/youtube/popcorn.htmlYouTubeVideoElement.js

onPlayerReady 函数(大约第108 行)中,为初始加载的自动搜索和静音完成了一些技巧。 该函数中的 player.playVideo(); 在 iPad 上破坏了它,因为 youtube API 不允许在 iPad 上自动播放。它应该始终从用户交互开始

如果您评论 player.playVideo(); 行,它会起作用(对我来说)。

我不确定这是否会破坏其他内容。我会看看我是否可以在爆米花上就此提出问题。

【讨论】:

对不起韦塞尔,刚刚在这里看到这个。谢谢(你的)信息。我已经放弃了在移动浏览器中使用爆米花的尝试——但我当然欢迎我们可以得到的任何改进。【参考方案2】:

我经常将“控制”参数设置为 2 以从速度提升中受益,但在 PopcornJS 中,它往往会导致问题。尝试将您的“控制”参数强制为“1”。

http://www.youtube.com/watch?v=videoid&controls=1

【讨论】:

以上是关于popcorn.js:在移动浏览器 youtube 上没有出现“播放”按钮的主要内容,如果未能解决你的问题,请参考以下文章

在移动网站中嵌入 youtube 视频有效,但“域协议和端口必须匹配”错误正在干扰浏览器

移动设备上的Youtube自动播放功能不起作用,但在浏览器中可行

iframe youtube 始终位于移动设备上的其他元素之上

来自 YouTube 的嵌入式 360 度视频无法在 iOS 浏览器上正确播放

如何用火狐浏览器下载youtube上的视屏

如何在没有 Youtube 或 Vimeo 的情况下嵌入视频?