【问题标题】:enabling youtube playback with video.js wrapper使用 video.js 包装器启用 youtube 播放
【发布时间】:2013-07-09 11:05:35
【问题描述】:

好的,所以我正在尝试使用 video.js 项目包装/换肤 youtube 视频,以使我的网站上的其他视频具有相似的外观和感觉。现在根据您可以看到here 的文档,因此我设置了一个标头,可以正确播放和皮肤 example_video_1 的视频标签,如getting started section 中一样但是当尝试使用带有 youtube 源的视频时,我有一个这个 html 元素:

 <video id="example_video_1" class="video-js vjs-default-skin"
   controls preload="auto" width="640" height="264"
  poster="http://ec2-54-227-116-247.compute-1.amazonaws.com/models/site-     templates/images/cover_img/ted_cover.jpg"
  data-setup='{"techOrder": ["youtube"]}'>
  <source src="http://www.youtube.com/watch?v=xYemnKEKx0c" type='video/youtube' />
  </video>

现在显示我的封面图片,但没有显示播放按钮。我在文档中遗漏了什么吗?还是我误解了文档,而 youtube 只是一个例子,我仍然需要实际编写一个 API 包装器来完成这项工作,他们只是将其作为示例说明如何操作?任何帮助或见解将不胜感激!

在 video-js v4 发布之前,here 6 months 也有人问过这个问题

【问题讨论】:

    标签: youtube video.js


    【解决方案1】:

    您可能在 javascript 控制台中生成错误,因为 videojs 默认不知道如何播放 youtube 视频。

    该文档对我来说看起来不正确。我在 github 存储库(文档之外)中没有看到任何知道如何播放 youtube 视频的实际代码。

    听起来您链接到的问题中引用的拉取请求已关闭,建议将其作为插件执行 - appears to have happened

    使用插件非常简单。除了包含 video.js 脚本之外,您还将包含来自https://github.com/eXon/videojs-youtube 的插件脚本:

    <script src="js/video.js"></script>
    <script src="js/media.youtube.js"></script>
    

    您必须对视频标签进行的唯一更改是在数据设置 json 中包含 src:

    <video id="example_video_1" class="video-js vjs-default-skin" controls 
           preload="auto" width="640" height="264"
           poster="http://ec2-54-227-116-247.compute-1.amazonaws.com/models/site-templates/images/cover_img/ted_cover.jpg" 
           data-setup='{"techOrder":["youtube"], "src":"http://www.youtube.com/watch?v=xYemnKEKx0c"}'>
    </video>
    

    这是working example。请注意,此示例引用了 rawgithub 插件 js,因此您当然需要下载本地副本。

    我还注意到海报没有正确加载。这是插件中的一个错误,但如果您有兴趣,可以立即解决。看到这个example

    【讨论】:

    • 哇。非常感谢,如果我能投票超过一次,我们将非常感谢您的研究和帮助。
    • 仅供参考,插件维护者听起来他很快也会修复海报问题:github.com/eXon/videojs-youtube/issues/16
    • 是的,我阅读了您今天早些时候发布的问题。你提供的工作现在可以工作,我现在正在关注项目以获取发布的更新,再次感谢!
    • 当你动态加载 html 时它不起作用。关于如何修改它以使其以这种方式工作的任何想法?
    • @ctangney 我遇到了同样的海报加载问题。特别是在点击动态加载 youtube 视频时。我的控制台显示Uncaught TypeError: Object [object Object] has no method 'setPoster'。这是你说的bug吗?自您上次发帖以来,状态是否发生了变化?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 2013-07-08
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    相关资源
    最近更新 更多