在src中使用动态值

时间:2015-07-30 12:07:47

标签: android angularjs ionic

我正在使用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}},它不起作用

有什么想法可以帮助我解决这个问题吗?请帮忙:(

2 个答案:

答案 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问题。如果您正在呼叫来自不同域的音频网址。