Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在准确的时间停止视频_Javascript_Html_Flash_Video_Html5 Video - Fatal编程技术网

Javascript 在准确的时间停止视频

Javascript 在准确的时间停止视频,javascript,html,flash,video,html5-video,Javascript,Html,Flash,Video,Html5 Video,我正在尝试制作一个小的视频编辑网络工具来制作完美的视频循环,并且需要在准确的时间停止视频 使用HTML5视频的推荐方法是使用timeupdate事件 video.addEventListener("timeupdate", function() { if (video.currentTime >= endtime) video.pause(); }, false); 然而,问题是这些的粒度与我在大多数浏览器中看到的只有100到300毫秒左右,这使得不可能在准确的时

我正在尝试制作一个小的视频编辑网络工具来制作完美的视频循环,并且需要在准确的时间停止视频

使用HTML5视频的推荐方法是使用timeupdate事件

video.addEventListener("timeupdate", function() {
    if (video.currentTime >= endtime)
        video.pause();
}, false);
然而,问题是这些的粒度与我在大多数浏览器中看到的只有100到300毫秒左右,这使得不可能在准确的时间停止并获得良好的视频循环

因此,当我试图在1.35秒停止时,它可能只在1.51秒或下一个事件决定出现时停止

停止HTML5视频的替代方法是添加
#t=、endtime
或每隔一段时间检查
.currentTime
,但是这两种方法的粒度都是相同的

我如何在准确的时间停车


不必使用HTML5视频标签,该工具只供我个人使用,因此黑客解决方案或需要Flash或其他插件的东西完全可以。

我认为它的准确度仅为1秒,因此使用timeupdate事件很难在毫秒范围内停止视频,正如您所注意到的,停止时大约有250毫秒的延迟

您可以尝试使用setInterval以一定的速率轮询currentTime,例如每50毫秒轮询一次,并在超过停止时间时暂停视频


这可能会为您提供所需的内容(而不是依赖timeupdate事件),但可能会在您的浏览器上增加额外的负载。

不,我尝试过了。currentTime也只会在timeupdate事件触发的同时更新,所以这是相同的结果,甚至更糟。好吧,这很奇怪,这在chrome中有效,但在我最初尝试的node webkit桌面中不起作用,在那里它与相同的时间间隔绑定。但这很有效,谢谢你!没问题,很高兴我能帮上忙