寻求currentTime后播放

时间:2012-05-25 13:34:35

标签: javascript jquery html5

我正在尝试使用javascript控制html5视频。我想要的是当用户点击一个按钮时,视频将跳转到另一帧并继续从那里开始播放。使用我当前的代码,搜索后播放始终停止。

function jumpToTime(){
    var video = $("video")[0];
    video.currentTime = 160;
    document.getElementbyId("videoclip").play(); //not working
};

//the following code is probably not really related to the question:
var endtimeoffset = 2000;

video.addEventListener("timeupdate", function() {
    if (video.currentTime >= endtimeoffset) {
        video.pause();
    }
}, false);

3 个答案:

答案 0 :(得分:2)

我遇到了类似的问题,通过暂停视频,然后设置currentTime,然后播放视频找到了解决方案。要更新您的代码:

function jumpToTime(){
    var video = $("video")[0];
    video.pause();
    video.currentTime = 160;
    video.play();
};

答案 1 :(得分:0)

我会尝试一些事情:

  1. 在jumpToTime()函数中,你有两个不同的引用,据说是同一个视频(一个是通过jQuery获得的,另一个是通过getElementById()获得的)。你确定这些视频引用了同一个视频吗?为了安全起见,我只需在你设置currentTime的'video'引用上调用play()。
  2. 这可能是一个复制和粘贴问题,因为如果这是在实际代码中,控制台会抱怨,但你确实错误地使用了getElementById()(需要将B大写)。
  3. 出于调试目的,我会注释掉'timeupdate'事件代码,以确保这不是问题,并且在更新计时器或调用播放后此代码不会暂停视频。它可能不是,因为您将当前时间设置为远小于您要比较的偏移量。但是,这可能是一个简单的测试,可以消除这个问题作为可能的原因。

答案 2 :(得分:0)

function jumpToTime(){
   document.getElementById("videoclip").currentTime = 160;
   document.getElementById("videoclip").play(); //not working
};

getElementbyId - > getElementById - b - >乙

通过id获取直接对象...