3

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

谢谢!

4

1 回答 1

2

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

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

            }
        }
    }
]);
于 2015-08-24T19:29:08.443 回答