【问题标题】:autoplay after jump to currentTime in html5 video在html5视频中跳转到currentTime后自动播放
【发布时间】:2013-01-03 15:53:49
【问题描述】:

我正在尝试创建一个视频,该视频会在您单击按钮后跳转到视频中的某个点后自动播放。我有它,以便视频跳转到现场,但我不知道如何让它从那里自动播放。我是 javascript 新手,我认为可能缺少一个简单的解决方案。

    function Fwd(){
        if (video.currentTime < 17.91 && video.currentTime >= 0)
        { (video.currentTime = 17.92)
        }
        else if (video.currentTime < 35.93 && video.currentTime > 17.91)
        { (video.currentTime = 35.94)
        }
    }

这是我的一些html

<div id="sideright">
  <input type="button" id="fwdButton" onclick="Fwd()" class="button_fwdrew" />
</div>

<video id="video" width="896" height="504" data-setup="{}" >
<source src="video/myAwesomeVideo.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
<source src="video/myAwesomeVideo.webmhd.webm" type='video/webm; codecs="vp8, vorbis"'>
<source src="video/myAwesomeVideo.oggtheora.ogv" type='video/ogg; codecs="theora, vorbis"' />
<p>Your browser doesn't support HTML5. Maybe you should upgrade.</p>
</video>

这里有更多我的 JavaScript

var v = document.getElementById("video")[0];
    v.volume = .5;
    v.pause();
    video.onpause = video.onplay = function(e) {
    playpause.value = video.paused ? 'Play' : 'Pause';
        }

【问题讨论】:

    标签: javascript html html5-video


    【解决方案1】:

    video.play() 不工作吗?

    function Fwd(){
        var video = document.getElementById("video");
        if (video.currentTime < 17.91 && video.currentTime >= 0)
        { 
            (video.currentTime = 17.92)
        }
        else if (video.currentTime < 35.93 && video.currentTime > 17.91)
        { 
            (video.currentTime = 35.94)
        }
        video.play();
    }
    

    我为video 变量添加了一个声明,因为这似乎会引起一些混乱。

    在您的编辑中,您创建了一个 v 变量,但您已将与 idvideo 的元素关联的 DOM 对象的第一个属性或方法的值分配给它(这就是数组访问器[0]document.getElementById("video") 之后执行)。几乎可以肯定,该属性或方法本身不会有属性volume 或方法pause()。之后,您开始使用video 变量,而没有明显定义它或设置它的值。它可能是在您尚未发布的代码中定义的,但从您所展示的内容来看,这将是一种浪费,因为您显然试图使 v 变量成为对视频元素的引用 - 两者都不需要vvideo

    确定一个变量来保存对视频元素的引用,使用document.getElementById("video") 分配它,然后始终如一地使用它。

    【讨论】:

    • 您好 robertc,感谢您的回复,但很遗憾视频仍然无法播放。
    • @Noob_C 发布更多您的代码,或指向您的示例的链接。
    • 我在上面添加了更多代码,如果您需要更多代码,请告诉我。我不确定什么会有用。我有很多与此问题无关的 JS 和 html 来控制音量、静音等...
    • @Noob_C 好的,你在哪里设置 video 变量?
    • 我添加了更多的 Javascript。也许视频变量是问题,因为我知道 v.volume = .5;不工作
    【解决方案2】:
    var update = function() {
        if (document.getElementById("video").currentTime < 10) 
        {
            document.getElementById("video").currentTime = 10;
        }
    };
    document.getElementById("video").setAttribute("ontimeupdate", "update();");
    document.getElementById("video").play();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-08
      • 2021-11-25
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多