2
Есть ли способ поиска видео по кадру с помощью Videogular API? Если нет, то что будет лучше всего работать?перемещение видео вперед/назад по кадру с помощью Videogular API
Спасибо!
Есть ли способ поиска видео по кадру с помощью Videogular API? Если нет, то что будет лучше всего работать?перемещение видео вперед/назад по кадру с помощью Videogular API
Спасибо!
Нашел это для себя. Вот директива, которую я создал. Обратите внимание, что я жестко закодировал частоту кадров, и я показываю только элементы управления, когда игрок приостановлен.
app.directive("vgFrameButtons", ["VG_STATES",
function (VG_STATES) {
return {
restrict: "E",
require: "^videogular",
template:
'<button class="iconButton" ng-click="prevFrame()"><i class="fa fa-angle-double-left"></i></button>' +
'<button class="iconButton" ng-click="nextFrame()"><i class="fa fa-angle-double-right"></i></button>',
link: function (scope, elem, attr, API) {
var frameTime = 1/29.97;
scope.prevFrame = function() {
API.seekTime((API.currentTime/1000) - frameTime);
};
scope.nextFrame = function() {
API.seekTime((API.currentTime/1000) + frameTime);
};
scope.$watch(
function() {
return API.currentState;
},
function (newVal) {
var display = newVal == VG_STATES.PAUSE ? "table-cell" : "none";
elem.css("display", display);
}
);
}
}
}
]);
Вы знакомитесь с частотой кадров вашего видео? Если вы не знаете, я боюсь, что это невозможно. Если вы знаете, что частота кадров просто использует API.seekTime (время) и проверяет этот пост http://stackoverflow.com/questions/20336955/how-to-step-one-frame-forward-and-one-frame-backward-in -video-воспроизведения – elecash
спасибо @elecash, я заметил в документах, что seekTime() принимает «целое число», представляющее целевую позицию в секундах ». Таким образом, поиск частичного второго (например, 2,5 с) не поддерживается? – amit
Он должен работать, seekTime поддерживает Number – elecash