angularjs - 停止正在后台播放的其他视频并播放新视频

标签 angularjs html5-video videogular

我正在使用 Videogular 来显示视频。当用户单击新视频的播放按钮时,您能帮我如何停止/暂停其他视频吗?因此,用户一次只能播放一个视频。

系统应自动停止正在后台播放的其他视频并播放新视频

谢谢

最佳答案

您可以分别获取每个玩家的所有 API 并监听状态的变化:

<videogular ng-repeat="config in ctrl.videoConfigs" vg-player-ready="ctrl.onPlayerReady($API, $index)" vg-update-state="ctrl.onUpdateState($state, $index)">
    <!-- other plugins here -->
</videogular>

在你的 Controller 中:

'use strict';
angular.module('myApp').controller('MainCtrl',
    function ($sce) {
        // this.videoConfigs should have different configs for each player...

        this.players = [];

        this.onPlayerReady = function (API, index) {
            this.players[index] = API;
        };

        this.onUpdateState = function (state, index) {
            if (state === 'play') {
                // pause other players
                for (var i=0, l=this.players.length; i<l; i++) {
                    if (i !== index) {
                        this.players[i].pause();
                    }
                }
            }
        };
    }
);

关于angularjs - 停止正在后台播放的其他视频并播放新视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31827732/

相关文章:

javascript - AngularJS promise : if the promise ready before the function returns

video - 无法使用 html5 视频标签播放 mp4 视频

javascript - AngularJS 中的工厂 "is not defined"

javascript - 新页面组件上的 ionic radio 组

ios - 在 iOS Safari 中同时播放两个 HTML5 视频

html - Videogular不支持flac音频文件

angularjs - Videogular - 如何在 div ng-click 上播放给定的视频文件?

angularjs - 视频自动播放错误

angularjs - Angular 和 Express 路由如何在 mean.js 应用程序中协同工作?

javascript - 动态加载和自动播放 HTML5 视频