我想在 AngularJS 网络应用程序中使用 HTML5 视频标签显示一个自动播放的视频。我尝试了以下代码:
<video ng-show="condition" autoplay ng-src="{{video.src}}"></video>
当加载网络应用程序时,不应显示(和启动)视频,这意味着条件为假。条件更改为 true 后,视频应开始播放。
使用上面的代码,视频被加载,当网络应用程序被加载并且它被隐藏(这很好)但是视频立即开始。一旦条件变为真,就会显示视频,但是——因为视频已经开始了——它不会从头开始。有没有办法在播放视频后暂停或重置视频?
我刚刚通过以下代码片段找到了解决方法:
var startvideo = function(){
angular.element('#video')[0].play();
};
var stopvideo = function(){
angular.element('#video')[0].pause();
angular.element('#video')[0].currentTime = 0;
};
与
<video id="video" ng-show="condition" ng-src="{{video.src}}"></video>
当条件变为真时,第一个函数将启动视频并被调用。如果条件设置为 false 并暂停视频并将其设置为开始,则调用第二个函数。
但不确定这是否是最佳解决方案。