Javascript HTML5视频API:如果启用循环,则无法在最后一帧暂停

Javascript HTML5视频API:如果启用循环,则无法在最后一帧暂停,javascript,angularjs,html,video,html5-video,Javascript,Angularjs,Html,Video,Html5 Video,如果视频在最后一帧,尝试在最后一帧暂停视频似乎不起作用 var-app=angular.module('myApp',[]); 应用程序控制器('MainCtrl',函数($scope){ }) app.directive('someVideo',函数($window,$timeout){ 返回{ 控制器:功能($scope){ }, 链接:功能(范围,elm){ scope.videoPlayer=elm[0]; scope.keyDownEvent=keyDownEvent; scope.

如果视频在最后一帧,尝试在最后一帧暂停视频似乎不起作用

var-app=angular.module('myApp',[]);
应用程序控制器('MainCtrl',函数($scope){
})
app.directive('someVideo',函数($window,$timeout){
返回{
控制器:功能($scope){
},
链接:功能(范围,elm){
scope.videoPlayer=elm[0];
scope.keyDownEvent=keyDownEvent;
scope.currentTime=0;
scope.videoPlayer.loop=true;
angular.element($window.bind('keydown',scope.keyDownEvent));
函数keyDownEvent(e){
console.log(例如keyCode);
开关(如钥匙代码){
案例32://空间
scope.videoPlayer.loop=!scope.videoPlayer.loop;
log('spcae:',scope.videoPlayer.loop);
打破
案例38://以上
scope.videoPlayer.currentTime=0;
console.log('up:',scope.videoPlayer.currentTime);
打破
案例40://向下
scope.videoPlayer.pause();
scope.videoPlayer.currentTime=scope.videoPlayer.duration;
console.log('down:',scope.videoPlayer.currentTime);
打破
}
}
}
}
})
正文{
溢出:隐藏;
}

更改此选项

scope.videoPlayer.currentTime = scope.videoPlayer.duration;
对此

scope.videoPlayer.currentTime = scope.videoPlayer.duration - 1;

JSFIDLE:

嗯……禁用循环??目标是构建具有循环开/关切换功能的外部控件,如果我走这条路线,那么如果用户跳到视频的开头,然后重新启用它,则必须跟踪之前打开的循环。如果有更简洁的解决方案,尽量避免这样的变通方法。问题中没有详细说明这一点,为什么不在设置currentTime后设置循环?似乎不需要特定的顺序,因为更改会立即启动…尝试了这个(不是-1,而是-framesPerSecond),并且完全按照预期工作。不是100%准确,因为不是最后一帧,但绝对是可行的解决方案。谢谢你的帮助!我最终不得不关闭循环,这是我最初试图避免的(虽然不是一个大问题:))。基本上,API似乎不喜欢在启用循环时转到最后一帧。