我想从web服务器播放视频文件。这是我的HTML代码。
<video width="100%" height="100%" controls>
<source ng-src="{{media_url}}" type="video/mp4" />
</video>
<div>{{media_url}}</div>
在角度控制器中:
$scope.media_url = '/get_video/movie.mp4';
每次刷新页面时,div都会正确显示。然而,视频播放器并不总是向"/get_video/movie.mp4"发送请求。它的行为看起来是随机的。
如果我直接设置src,那么就没有问题:
<source ng-src="/get_video/movie.mp4" type="video/mp4" />
知道为什么吗?
浏览器在URL的基础上进行缓存,我相信每次你都应该生成新的URL来解决你的问题,并且不会影响你的功能。在url末尾添加日期将使url每次都是唯一的,因为它不会从浏览器缓存查找中检索任何内容。
标记
<video width="100%" height="100%" controls>
<source ng-src="{{generateNewUrl(media_url)}}" type="video/mp4" />
</video>
代码
$scope.generateNewUrl = function(media_url){
return media_url + "?t="+new Date();
}
我确实发现了这个问题。这不是因为浏览器缓存。
请参阅此张贴的
更改html5视频标签上的源