3

我正在尝试使用 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);
4

3 回答 3

2

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

function jumpToTime(){
    var video = $("video")[0];
    video.pause();
    video.currentTime = 160;
    video.play();
};
于 2014-06-24T21:54:20.297 回答
1

我会尝试一些事情:

  1. 在 jumpToTime() 函数中,您有两个对假定相同视频的不同引用(一个通过 jQuery 获得,另一个通过 getElementById() 获得)。你确定这些引用的是同一个视频吗?为了安全起见,我只会在您设置 currentTime 的“视频”引用上调用 play()。
  2. 这可能是一个复制和粘贴问题,因为如果这在实际代码中,控制台会抱怨,但您确实拼错了 getElementById()(需要大写 B)。
  3. 出于调试目的,我将注释掉“timeupdate”事件代码,以确保这不是问题,并且在您更新时间头或调用播放后,此代码不会暂停视频。可能不是,因为您将当前时间设置为远小于您要与之比较的偏移量。但是,将其作为问题的可能原因进行消除将是一个简单的测试。
于 2012-05-25T14:05:23.230 回答
0
function jumpToTime(){
   document.getElementById("videoclip").currentTime = 160;
   document.getElementById("videoclip").play(); //not working
};

getElementbyId --> getElementById -- b --> B

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

于 2012-05-25T14:26:40.927 回答