使用Videogular API逐帧前移/后移视频

时间:2015-03-28 15:43:45

标签: angularjs video videogular

有没有办法使用Videogular API逐帧搜索视频? 如果没有,最好的解决方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

自己遇到了这个需求。这是我创建的指令。请注意,我对帧速率进行了硬编码,并且仅在播放器暂停时显示控件。

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);
                    }
                );

            }
        }
    }
]);