我正在使用angularjs为我的Android应用程序编写媒体播放器,我从网络API获取歌曲,地址:http://10.96.254.34:8885/api/apimusic/download?songId=X,“X”是我要传输的歌曲的ID。您可以尝试在“X”处添加“1”,“2”或“3”以收听歌曲 我的问题是,当我使用写入音频播放器的代码时:
<div class="item item-thumbnail-left">
<h2>{{song.SongName}}</h2>
<p>{{song.Singer}}</p>
<audio id="audio" autoplay="true" preload="auto" tabindex="0" controls="" type="audio/mpeg">
<source type="audio/mpeg" src="http://10.96.254.34:8885/api/apimusic/download?songId=1">
Sorry, your browser does not support HTML5 audio.
</audio>
</div>
这首歌可以完美无缺地获取,但当我将其更改为: http://10.96.254.34:8885/api/apimusic/download?songId= {{song.SongId}},它不起作用
有什么想法可以帮助我解决这个问题吗?请帮忙:(
答案 0 :(得分:2)
尝试在源代码中使用:
data-ng-src
或
ng-src
而不是使用简单的src
。
答案 1 :(得分:2)
它是因为严格的上下文转义(SCE),默认情况下在Angularjs中启用。
不允许将表达式传递给href或src中的url,因此请使用表达式准备您的url,然后将其分配给src。例如:
而不是
ng-src="http://yourdomain.com/a={{id}}"
DO
in Controller:
$scope.url = "http://yourdomain.com/a="+$scope.id;
in View
ng-src="{{url}}"
并确保CORS问题。如果您正在呼叫来自不同域的音频网址。