2

我正在使用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>

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

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

4

1 回答 1

2

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

你可以在这里查看 API 。

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

更新

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

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

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

videogular然后在您的指令中添加您的 HTML 中的这些功能。

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

最后添加vg-complete为 $scope 函数videogular.js

\\Line 159
vgComplete: "&" 

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

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

于 2013-12-13T07:58:57.537 回答