我刚开始学习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次才能读取。
你知道我怎么解决它吗?
谢谢
答案 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();
});
}
应按预期工作