【问题标题】:Is there a way to "seek" to a certain time in a video using JavaScript?有没有办法使用 JavaScript 在视频中“寻找”到某个时间?
【发布时间】:2012-01-29 15:23:34
【问题描述】:

我有一个带有视频的 iframe,例如:

<iframe src="http://player.vimeo.com/video/18150336" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

来源并不总是 vimeo,它可以是 YouTube、BrightCove、Hulu 等。

有没有办法使用 jQuery/JavaScript 在视频中“寻找”到某个时间?例如,如果我想在视频中到达 3:41,我是否可以编写代码自动寻找到那个时间,而无需 API 访问提供视频的网站?

【问题讨论】:

    标签: javascript jquery html video-streaming html5-video


    【解决方案1】:

    当然。您可以使用 VideoJS。正如您所说,您可能很难控制 iFrame。据说,您可以使用 VideoJS 嵌入各种视频托管网站的视频。

    <script>
    VideoJS.DOMReady(function() {
    var player = VideoJS.setup("current_video");
    player.play();
    player.currentTime(666);
    });
    </script>
    

    参考:

    https://github.com/zencoder/video-js/blob/df41661f47201cfbc979b1fbba68fba3d67c06b0/dev/src/tech/youtube.js

    http://videojs.com/

    https://github.com/zencoder/video-js/blob/master/docs/api.md

    【讨论】:

      【解决方案2】:

      那个 iframe 会给你带来麻烦,但通常你可以在没有库的情况下做到这一点。

      // get the video element
      let video = document.getElementsByTagName('video')[0]
      // jump it to a specific time
      video.currentTime = 10 // the number of seconds you want it to be at
      

      【讨论】:

        【解决方案3】:

        除非你的网站也有http://player.vimeo.com的主机、协议和端口,否则你不能在iframedocument上运行任何代码。

        【讨论】:

          【解决方案4】:

          不幸的是,并非总是如此。如果您不知道视频的来源是什么,则没有单一的解决方案可以在 Flash 视频中寻找时间。

          如果你遇到过 HTML5 视频,可以试试这个:Start HTML5 video at a particular position when loading?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-09-09
            • 2011-02-28
            • 2016-12-23
            • 1970-01-01
            • 1970-01-01
            • 2023-04-09
            • 1970-01-01
            相关资源
            最近更新 更多