【发布时间】:2017-04-16 10:54:43
【问题描述】:
我的目标是检查 HTML5 视频元素是否可以显示来自给定 src 的视频。我使用 Angular 构建我的应用程序。下面是我的 html 组件的模板和控制器的外观。
传递给组件控制器的每个模型都有自己的路径和名称。当路径指向有效的 mp4/webm/ogg 文件时 - 它会完美显示。但我想检查是否支持来自给定路径的文件。如果出现错误,我会向用户显示一个对话框,上面写着{{vm.name + 'cannot be displayed'}}
有很多来自 w3 的 HTML 音频/视频 DOM 参考方法,但我根本不知道如何使用它们。此外,我注意到我不能在组件的模板 html 文件中使用内联 js。
http://www.w3schools.com/tags/ref_av_dom.asp
所以?如何检查文件是否可以在视频标签中显示?
video-preview.html
<header class="dialog-header">
<span>{{vm.name}}</span>
<button type="button" class="btn btn-icon close-btn icon-close" ng-click="vm.closeDialog()"></button>
</header>
<div class="dialog-content">
<video class="video-preview-dialog" id="myVideo" autoplay src="{{vm.path}}" controls></video>
</div>
video-preview-dialog.controller.js
(function () {
'use strict';
angular
.module('videoApp')
.controller('VideoPreviewDialogController', VideoPreviewDialogController);
/** @ngInject */
function VideoPreviewDialogController(model, VideoDialogInstance) {
var vm = this;
vm.path = model.path;
vm.name = model.name;
vm.closeDialog = closeDialog;
function closeDialog() {
PreviewDialogInstance.cancel();
}
}
})();
【问题讨论】:
标签: javascript angularjs html video components