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>