音频播放问题Angular

时间:2016-04-29 15:43:54

标签: angularjs html5-audio

我刚开始学习AngularJS并面临音频播放问题。这是我的控制器代码的一部分:

$scope.preview=function(id){
searchRequest.getSound(id).get().then(function(response){
  var audio = $("#player");
  $scope.link=response.data.preview;
  audio[0].pause();
  audio[0].load();
  audio[0].oncanplaythrough = audio[0].play();
  });
}

和HTML:

<audio controls id="player">
  <source ng-src='{{link | trustUrl}}' type="audio/mp3">
</audio>

实际上我应该在每次点击不同的项目并设置它时设置新歌的网址(我不确定按照Angular的说法设计它是正确的,因为我告诉你我刚开始)。当我第一次点击一首歌时,数据绑定已经完成,源URL已被修改,但歌曲没有播放。然后,当我选择另一个项目时,它仍会将正确的URL设置为源,但每次都会播放前一个。基本上我需要在歌曲上单击2次才能读取。

你知道我怎么解决它吗?

谢谢

1 个答案:

答案 0 :(得分:0)

$scope.preview=function(id){
searchRequest.getSound(id).get().then(function(response){
  var audio = $("#player");
  $scope.link=response.data.preview;
  audio[0].src = response.data.preview;
  audio[0].pause();
  audio[0].load();
  audio[0].oncanplaythrough = audio[0].play();
  });
}

应按预期工作