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 始终位于移动设备上的其他元素之上