我正在处理视频预览问题。我能够显示mp4文件扩展名视频预览。但保留所有视频文件扩展名mpeg,m4v,wmv..etc不适用于视频预览代码。
我在视频src html代码中添加了所有文件类型,但它仅适用于mp4视频。我使用DomSanitizer 角度概念进行此预览。 我创建了plunker Video Preview plunker,您可以在plunker中检查我的代码。我从ng2文件上传插件ng2 file upload concept
中获取了此代码组件代码:
filePreview(input : any){
this.videoPreviewPath = this.sanitizer.bypassSecurityTrustUrl((window.URL.createObjectURL(input.files[0])));
}
html代码
<input type="file" (change)="filePreview(input)"
accept=".mp4,.mpg,.m4v,.flv,.avi,.mov,.wmv,.divx,.f4v,.mpeg,.vob"
#input />
<video controls preload="auto" width="280" height="180" >
<source [src]='videoPreviewPath' type = 'video/mp4'>
<source [src]='videoPreviewPath' type = 'video/3gpp'>
<source [src]='videoPreviewPath' type = 'video/quicktime'>
<source [src]='videoPreviewPath' type = 'video/x-ms-wmv'>
</video>
请对此有任何帮助。为什么剩余的文件扩展名不适用于此代码。
答案 0 :(得分:2)
您可以使用HTMLMediaElement.canPlayType()
,它接受MIME
类型作为参数并返回字符串值
- '可能':指定的媒体类型似乎可播放。
- 'maybe':无法判断媒体类型是否可播放。
- ''(空字符串):无法播放指定的媒体类型。
确定<video>
元素是否可以播放媒体MIME
类型。
在Chromium 59中,只有"video/mp4"
返回"maybe"
,"video/3gpp"
,"video/quicktime"
,"video/x-ms-wmv"
,"video/x-msvideo"
,"video/dvd"
,{ {1}},"video/xvid"
,"video/x-flv"
和"video/x-f4v"
每个都会返回一个空字符串"video/divx"
,表示该视频无法在Chromium或Chrome浏览器的""
元素上播放。
<video>