【问题标题】:Some video file extensions are not working for video preview in angular 4?某些视频文件扩展名不适用于 Angular 4 中的视频预览?
【发布时间】:2018-01-10 14:30:14
【问题描述】:

我正在处理视频预览问题。我能够显示 mp4 文件扩展名视频预览。但剩下的所有视频文件扩展名 mpeg、m4v、wmv..etc 都不适用于视频预览代码。

我在视频 src html 代码中添加了所有文件类型,但它仅适用于 mp4 视频。我在此预览中使用 DomSanitizer angular 概念。 我已经创建了 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>

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

【问题讨论】:

  • 您尝试在哪些浏览器上播放视频?如果.mp4 视频渲染,有什么问题?
  • 我在 chrome 中尝试过。视频 src 不支持文件扩展名。请你检查我上面的 plunker。
  • 预期结果是什么?注意,.3gp.3g2 未在 accept 属性值中列出
  • 选择视频时需要显示视频预览,点击预览时需要播放视频
  • 为了显示视频预览,我正在使用视频 mime 类型

标签: javascript angular video


【解决方案1】:

你可以使用HTMLMediaElement.canPlayType(),它接受MIME类型作为参数并返回一个字符串值

  • “可能”:指定的媒体类型似乎可以播放。
  • 'maybe':不播放就无法判断媒体类型是否可以播放。
  • ''(空字符串):指定的媒体类型肯定不能播放。

判断&lt;video&gt;元素是否可以播放MIME类型的媒体。

仅在 Chromium 59 中,"video/mp4" 返回 "maybe""video/3gpp""video/quicktime""video/x-ms-wmv""video/x-msvideo""video/dvd""video/xvid""video/x-flv""video/x-f4v""video/divx"都返回一个空字符串"",表示在Chromium或Chrome浏览器的&lt;video&gt;元素处无法播放视频。

let mimeTypes = [
  "video/mp4", "video/3gpp", "video/quicktime"
, "video/x-ms-wmv", "video/x-msvideo", "video/mpeg"
, "video/dvd", "video/xvid", "video/x-flv"
, "video/x-f4v", "video/divx"
];

let video = document.createElement("video");

mimeTypes.forEach(type => console.log(type,  video.canPlayType(type)));

【讨论】:

  • 感谢您的澄清,还有其他在浏览器中显示预览的建议吗?
  • @SathishKotha 如果需要在 Chrome、Chromium 上播放视频,请将视频转换为 .mp4
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-01
相关资源
最近更新 更多