我正在使用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,我想在屏幕上有两个视频,一旦第一个结束,做一些事情,然后播放第二个。)
答案 0 :(得分:2)
昨天我们已经公开API可以通过$ scope访问,因此您可以访问所有可用的方法。
您可以查看API here。
此版本尚未通过凉亭提供,我们计划在本周末这样做。
<强>更新强>
了解视频何时完成的最佳方法是在控制器中添加范围功能。
$scope.onCompletePlayer1 = function() {
console.log("on complete 1");
};
$scope.onCompletePlayer2 = function() {
console.log("on complete 2");
};
然后在您的videogular
指令中添加这些函数。
<videogular vg-complete="onCompletePlayer1()" ...></videogular>
<videogular vg-complete="onCompletePlayer2()" ...></videogular>
最后在vg-complete
中添加videogular.js
作为$ 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();
};
我们会尝试在下一个版本中添加它,所以也许你想等几天。