javascript - Angular js 音频问题

标签 javascript html angularjs

如何在浏览器窗口关闭时暂停 Angular js 音频,并在窗口最大化时再次恢复? 这是我的代码。我是 Angular JS 的新手。我对此一无所知。谁能帮帮我

    var app=angular.module("myApp",['ngAudio']);
    app.controller("myCtrl",function($scope,ngAudio,$window)
    {$scope.src="aud.mp3";
        $scope.play=false;
        $scope.play=function(){
            $scope.audio = ngAudio.load('aud.mp3');
            $scope.audio.play();
        }
        $scope.stop=function(){
            $scope.audio = ngAudio.load('aud.mp3');
            $scope.audio.pause();
        }
    });

最佳答案

您可以尝试以下逻辑,它将跟踪 visibilitychange 事件并检查文档可见性。

代码

app.controller("myCtrl", function($scope, ngAudio, $window, $document) {
    $scope.src = "aud.mp3";
    $scope.play = false;
    $scope.play = function() {
        $scope.audio = ngAudio.load('aud.mp3');
        $scope.audio.play();
    };
    $scope.stop = function() {
        $scope.audio = ngAudio.load('aud.mp3');
        $scope.audio.pause();
    };

    $document[0].addEventListener("visibilitychange", function() {
        var doucmentHidden = document.hidden;
        $scope.$apply(function() { //need to apply scope from events to run digest cycle
            if (doucmentHidden)
                $scope.stop();
            else
                $scope.play();
        });
    }, false);
});

Working Plunkr

关于javascript - Angular js 音频问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29313925/

相关文章:

javascript - 如何使用 vuetify 减少 vue js 构建大小?

javascript - jQuery .select 有效,但 Javascript .select 无效

javascript - 为什么数组解构在这种情况下不起作用?

html - 在较小的屏幕上调整导航栏的大小并将其向右移动

javascript - W3C、ECMAScript 或有关在 JavaScript 中向现有 HTML 类添加属性的专业建议?

css - IE-7 图像未出现在顶部

angularjs - 在 Angular 中使用自定义 Javascript 库

Javascript 获取高度 IE 错误值

javascript - AngularJS 获得回复

javascript - angularjs 如何处理 ng-if 函数中的 promise