提问人:Wizzard 提问时间:3/6/2015 更新时间:5/9/2015 访问量:855
视频 js 在 angular 和 FF 中无法按预期工作
Video js not working as expected with angular and FF
问:
我需要创建带有视频的网站,这些视频具有自动播放功能,并取决于用户选择的配置文件。所以在 angular 中我创建了模板 popupVideo:
<video id="example_video_1" class="video-js vjs-default-skin"
controls autoplay preload="auto" height="100%" width="100%">
<source ng-repeat="vidObj in fullScreenVideoUrl" src="{{vidObj.url}}" type="{{vidObj.type}}"/>
<p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/">supports HTML5 video</a></p>
</video>
然后在控制器中我有代码:
function showPopupVideo() {
$scope.fullScreenVideoUrl = [];
var webm = {};
webm.url = $scope.currentProfile.video_full + ".webm";
webm.type = "video/webm";
$scope.fullScreenVideoUrl.push(webm);
var mp4 = {};
mp4.url = $scope.currentProfile.video_full + ".mp4";
mp4.type = "video/mp4";
$scope.fullScreenVideoUrl.push(mp4);
var ogg = {};
ogg.url = $scope.currentProfile.video_full + ".ogv";
ogg.type = "video/ogg";
$scope.fullScreenVideoUrl.push(ogg);
ngDialog.open({
template: 'scripts/contents/template/popupVideo.html',
className: 'popup-fullscreen',
scope: $scope
});
}
因此,在Chrome和IE中一切正常,窗口打开视频开始并播放。 但是在 FF 中一切都出错了,当窗口第一次打开时,它开始下载(根据网络监视器),但没有自动播放,同样在控制台中我可以看到:
Specified "type" attribute of "{{vidObj.type}}" is not supported. Load of media resource {{vidObj.url}} failed. localhost:3000
All candidate resources failed to load. Media load paused. localhost:3000
All candidate resources failed to load. Media load paused.
然而!如果我按播放,它开始播放视频!
然后,如果我关闭此窗口并再次打开,它会在控制台中显示相同的文本,即不支持,但是现在它开始播放视频,同时在其上显示文本“未找到具有受支持格式和MIME类型的视频”,这怎么可能???它找不到并同时播放它......
答:
0赞
benwsmith
5/9/2015
#1
可能为时已晚,但您需要做的是使用 ng-src=“{{vidObj.url}}” 而不是 src=“{{vidObj.url}}”
评论