2

Я создаю веб-страницу с помощью AngularJS. Я пытаюсь воспроизвести аудиофайл, который загружается, когда страница закончила загрузку. Это HTML-код, я использую:AngularJS HTML audio player

<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. Просьба указать точный код. А также проверьте, что у вас на консоли. –

+1

Действительно ли ваш GET возвращает правильные данные? – JMK

+0

Да, я пробовал много раз регистрировать его, и он дает правильные данные. Если я копирую эти данные и присваиваю значение $ scope.audioFile этому значению вне моего GET, он работает. Если я скопирую данные и назначу $ scope.audioFile этим данным внутри функции Quiz.get, это тоже не сработает. Я просто думаю, что мой html не перезагружается или что-то, когда правильные данные присваиваются $ scope.audioFile в функции GET –

ответ

0

This is a simple directive аудиоплеер на AngularJS. Легко вставлять и использовать, надеюсь, поможет вам.

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