javascript - 与 Videogular 指令交互——如何操作?

标签 javascript angularjs angularjs-directive videogular

我正在使用https://github.com/2fdevs/videogular特别是,开箱即用,效果非常好。

<videogular vg-width="videoWidth" vg-height="videoHeight" >
    <video class='videoPlayer' ng-model="currentVideo">
        <source ng-src='{{currentVideo.videoLocation}}' test="{{currentVideo}}" type='video/ogg'></source>
    </video>
</videogular>

我不确定如何(因为自动播放不正确)如何让视频以编程方式播放? 我知道我可以在包含上述标记的 Controller 内调用 angular.element() 然后调用 .play() 但从我读到的内容来看,这似乎是错误的。我不应该在任何 Controller 内调用 angular.element() 。

我该怎么办?我应该创建一个指令来执行此操作吗?放置视频“播放”和“暂停”逻辑的最佳位置在哪里(顺便说一句,我想在屏幕上显示两个视频,第一个视频结束后,做一些事情然后玩第二件事)。

最佳答案

昨天我们已经公开了可以通过 $scope 访问的 API,因此您可以访问所有可用的方法。

您可以查看 API here .

此版本尚未通过 Bower 提供,我们计划在本周末提供。

更新

了解视频何时完成的最佳方法是在 Controller 中添加范围功能。

$scope.onCompletePlayer1 = function() {
    console.log("on complete 1");
};

$scope.onCompletePlayer2 = function() {
    console.log("on complete 2");
};

然后在 HTML 中添加 videogular 指令中的这些函数。

<videogular vg-complete="onCompletePlayer1()" ...></videogular>
<videogular vg-complete="onCompletePlayer2()" ...></videogular>

最后在 videogular.js 中添加 vg-complete 作为 $scope 函数:

\\Line 159
vgComplete: "&" 

\\Line 507
$scope.onComplete = function(event) {
    vg.setState(VG_STATES.STOP);
    $scope.$emit(VG_EVENTS.ON_COMPLETE);
    $scope.vgComplete();
    $scope.$apply();
};

我们将尝试在下一个版本中添加此功能,因此您可能需要等待几天。

关于javascript - 与 Videogular 指令交互——如何操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20556908/

相关文章:

javascript - 如何在加载特定 JS 后运行 Javascript 函数?

javascript - Angular 5 : accessing variable in component from loop

javascript - Select2 - Ajax 搜索 - 记住最后的结果

javascript - 如何制作 angularjs 表指令

javascript - 从对象内部访问对象?

javascript - AngularJS:无法实例化我自己的模块

javascript - 工作 $.ajax 调用的 AngularJS $http.post 版本返回 401 UNAUTHORIZED

javascript - Angular.js 和 HTML/如何并排组合 2 个元素

javascript - 使用 AngularJS 绑定(bind)后如何获取元素的字符串长度?

javascript - ng-重复 : how do I properly reference $odd or $even by variable?