試圖暫停的最後幀的視頻出現不工作,如果視頻是非常最後一幀。HTML5視頻API:不能暫停在最後一幀如果啓用環流式
var app = angular.module('myApp', []);
app.controller('MainCtrl', function ($scope) {
})
app.directive('someVideo', function ($window, $timeout) {
return {
\t controller: function($scope) {
},
link: function (scope, elm) {
scope.videoPlayer = elm[0];
scope.keyDownEvent = keyDownEvent;
scope.currentTime = 0;
scope.videoPlayer.loop = true;
angular.element($window).bind('keydown',scope.keyDownEvent);
function keyDownEvent(e){
console.log(e.keyCode);
\t switch(e.keyCode) {
case 32: //space
\t scope.videoPlayer.loop = !scope.videoPlayer.loop;
\t console.log('spcae: ',scope.videoPlayer.loop);
break;
\t \t case 38: //up
\t \t \t \t scope.videoPlayer.currentTime = 0;
console.log('up: ', scope.videoPlayer.currentTime);
\t \t \t \t \t \t \t \t \t \t \t break;
\t \t case 40: //down
scope.videoPlayer.pause();
\t \t \t \t \t \t \t \t \t \t \t scope.videoPlayer.currentTime = scope.videoPlayer.duration;
console.log('down: ', scope.videoPlayer.currentTime);
\t \t \t \t \t \t \t \t \t \t \t break;
\t }
}
}
}
})
body {
overflow: hidden;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<div ng-app="myApp">
<div ng-controller="MainCtrl">
<video some-video src="http://nagi.ca/u/google.mp4" autoplay></video>
</div>
</div>
http://jsfiddle.net/4bygou77/4/
的步驟,以REPO:
1)啓動小提琴和點擊視頻將焦點設置
2)使用鍵:空間=切換循環,向下=最後一個幀,高達=第一幀
結果:
帶環啓用:視頻暫停,跳到最後一幀,然後跳轉到第一幀
帶環禁用:視頻暫停,跳到最後一幀(我要的結果)
嗯...禁用循環? – charlietfl
目標是建立具有開/關回路切換外部控制,如果我走這條路,將不得不繼續跟蹤環路是以前的,如果用戶隨後跳轉到視頻的開頭,然後重新啓用它。如果有更簡潔的解決方案,試圖避免這樣的解決方法。 – DearthFunk
那麼在問題 – charlietfl