NG Cordova媒体插件停止方法不起作用



iam创建的简单离子音频应用程序。它的播放功能正常工作,但停止功能不起作用。该代码请帮助解决此问题这是控制器

angular.module('starter', ['ionic', 'ngCordova'])
.controller("ExampleController", function($scope, $ionicPlatform, $cordovaMedia, $ionicLoading) {
   $ionicPlatform.ready(function() {
 
      $scope.play = function() {
        var media = new Media(src, null, null, mediaStatusCallback);  
         $cordovaMedia.play(media);
      };
      $scope.pause = function() {
         media.pause();
      };
      $scope.stop = function() {
         media.stop();
      };
 var mediaStatusCallback = function(status) {
        if(status == 1) {
            $ionicLoading.show({template: 'Loading...'});
        } else {
            $ionicLoading.hide();
        }
    }
   });
	
})

这是HTML代码:

 <ion-pane>
      <ion-header-bar class="bar-stable">
        <h1 class="title">Ionic Blank Starter</h1>
      </ion-header-bar>
      <ion-content>
      <button class="button" ng-click="play('http://www.stephaniequinn.com/Music/Commercial%20DEMO%20-%2013.mp3')">Play from internet</button>
      <button class="button" ng-click="stop()">Stop</button>
      </ion-content>
    </ion-pane>

您的媒体变量是 local 。因此,在停止功能中,媒体不确定或不相同。

此外,为什么要以不同的方式使用方法?我认为您应该使用相同的(例如Media.play()或$ Cordovamedia.stop(媒体);如果可能的话)

您的变量var media不超出$ scope.pape.pause.pause和$ scope.stop。尝试在$ scope.play功能上将其声明在外面。

angular.module('starter', ['ionic', 'ngCordova'])
.controller("ExampleController", function($scope, $ionicPlatform, $cordovaMedia, $ionicLoading) {
   $ionicPlatform.ready(function() {
 
    var media = new Media(src, null, null, mediaStatusCallback);
      $scope.play = function() {
         
         $cordovaMedia.play(media);
      };
      $scope.pause = function() {
         media.pause();
      };
      $scope.stop = function() {
         media.stop();
      };
 var mediaStatusCallback = function(status) {
        if(status == 1) {
            $ionicLoading.show({template: 'Loading...'});
        } else {
            $ionicLoading.hide();
        }
    }
   });
	
})

最新更新