2

我使用AngularJS创建网页。我正试图播放加载完成后加载的音频文件。 这是我使用的HTML代码:AngularJS HTML音频播放器

<audio controls="controls"> 
    <source ng-src="{{audioFile}}" type="audio/mp3"> 
</audio> 

这是我AngularJS文件在音频播放器不能播放任何东西。

angular.module('MyApp') 
    .controller('MyCtrl', ['$scope', '$routeParams', 'Quiz', 
     function ($scope, $routeParams, Quiz) {    
      $scope.quiz = Quiz.get({quizId: $routeParams.quizId}, function() { 
       $scope.audioFile = "Link to some audioFile"; 
      }); 
     } 
    ]); 

但它在下面的代码时,我跳过服务工作:

angular.module('MyApp') 
    .controller('MyCtrl', ['$scope', '$routeParams', 'Quiz', 
     function ($scope, $routeParams, Quiz) {    
      $scope.audioFile = "Link to some audioFile"; 
     } 
    ]); 

有没有办法等待来自服务的响应时,使这项工作?

+1

在这段代码中有几个问题会阻止运行。我相信它是用手写的,而不是你项目的代码。 DI后缺少逗号,函数参数中有额外的撇号,Quiz.get后缺少括号。 请提供确切的代码。并检查你在控制台中的功能。 – 2014-12-09 14:16:12

+1

您的GET实际上是否返回了正确的数据? – JMK 2014-12-09 16:00:08

+0

是的,我已经尝试过多次记录,并提供了正确的数据。如果我复制该数据并将$ scope.audioFile赋值给我的GET之外的值,它将起作用。 如果我复制数据并将$ scope.audioFile分配给Quiz.get函数内的数据,则这也不起作用。 我只是认为我的html不会重新加载或者什么时候正确的数据被分配给GET函数中的$ scope.audioFile – 2014-12-09 16:22:17

回答

0

This is a simple directive AngularJS上的音频播放器。易于插入和使用,希望可以帮助你。

<player-directive ng-controller="YourCtrl" playlist="{{Your.tracks}}"></player-directive>