使用 YouTube API 播放带有开始和结束时间的 YouTube 视频

Posted

技术标签:

【中文标题】使用 YouTube API 播放带有开始和结束时间的 YouTube 视频【英文标题】:Playing YouTube video with start and end time using YouTube API 【发布时间】:2013-10-30 16:27:09 【问题描述】:

我正在尝试弄清楚如何为嵌入的 YouTube 视频设置自定义开始和结束时间,如下所示:

https://youtube.googleapis.com/v/BmOpD46eZoA%26start=36%26end=65

但是,上面的链接在 Safari 浏览器中无法正常工作。任何人都可以建议如何使其适用于 Safari 浏览器?

【问题讨论】:

【参考方案1】:

您的问题在于“?”和“&”的编码。

https://www.youtube.com/v/BmOpD46eZoA?start=36&end=65

http://www.youtube.com/embed/BmOpD46eZoA?start=36&end=65 

只是工作正常。

【讨论】:

它正在播放完整的视频。 刚刚编辑了我的答案,您遇到的问题在于 URL 编码。当它编码“&”时它不起作用。 非常感谢。它在移动和桌面的所有浏览器中都可以正常工作 在 Safari (os-x) 中,开始工作正常,但视频只是播放到结束,不会在结束时停止。 /v/ 链接也会导致在 Firefox android 上进行下载。嵌入链接适用于桌面网站,但不适用于 YT 应用。【参考方案2】:

你应该试试

https://www.youtube.com/embed/-ZWGpOSS6T0?start=130&end=144&version=3

您首先要做的当然是获取您希望嵌入视频开始的具体时间和结束的具体时间。然后将它们转换为秒。假设您只想嵌入从 02:16 到 02:58 的视频部分。

以秒为单位,开始时间为 (2 * 60) + 16 = 136,结束时间为 (2 * 60) + 58 = 178。

接下来,从 Youtube 视频中获取嵌入代码,并将以下参数附加到嵌入代码中的视频 URL:

?start=[your_start_time]&end=[your_end_time]&version=3

将 [your_start_time] 和 [your_end_time] 替换为您的实际开始和结束时间(以秒为单位),以便您的嵌入代码如下所示:

在此处阅读更多信息,How to embed or link to a specific part of a YouTube video

【讨论】:

并不是说如果“视频所有者已禁用在其他网站上播放”,则嵌入内容将不起作用。【参考方案3】:

试试这个链接,一定有帮助

https://www.youtube.com/v/BmOpD46eZoA?start=36&end=65&version=3

【讨论】:

注意:version=3 使用 Flash API version3。这可能不适用于使用 html5 播放器的 ios。删除 version=3 以使其在 iOS 上运行。

以上是关于使用 YouTube API 播放带有开始和结束时间的 YouTube 视频的主要内容,如果未能解决你的问题,请参考以下文章

YouTube API - 在设置的开始和结束时间之间循环播放视频

带有 AJAX 和自动播放/排队的 Youtube iframe API

使用 Youtube API 重播视频

嵌入带有侧列表托盘的 youtube 播放列表

嵌入带有自动播放和无控件的 youtube 视频

如何使用 YouTube iframe 获得更精确的当前、视频和开始时间?