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>
&#13;
答案 0 :(得分:0)
您的媒体变量是本地。因此,在停止功能媒体中,未定义或不相同。
此外,为什么你以不同的方式使用方法?我认为你应该使用相同的(例如media.play()或$ cordovaMedia.stop(媒体);如果可能的话)
答案 1 :(得分:0)
您的变量var media
超出了$ scope.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();
}
}
});
})