某些视频文件扩展程序无法用于角度4的视频预览吗?

时间:2017-08-03 06:30:04

标签: javascript angular video

我正在处理视频预览问题。我能够显示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>

请对此有任何帮助。为什么剩余的文件扩展名不适用于此代码。

1 个答案:

答案 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>