audio 要素で音声再生しようとしたらエラー

<audio ng-src="{{some_object.url}}"></audio>

audio 要素に ng-src ディレクティブでソース指定して、他サーバにある音声を再生しようとしたら

Blocked loading resource from url not allowed by $sceDelegate policy.

というエラーが発生した。

ググったら AngularJS 公式がヒットした。
http://docs.angularjs.org/error/$sce:insecurl

Strict Contextual Escaping (SCE) モードがリソースのロードをブロックしたと。
SCE モードはデフォルトでオンになっているそう。

ドメイン or 他プロトコロのリソースを読み込むには、URL を $sce.trustAsResourceUrl() でラップしてやればいい。

<audio ng-src="{{trustSrc(some_object.url)}}"></audio>
$scope.trustSrc = function(src) {
  return $sce.trustAsResourceUrl(src);
};