如何在 Angularjs 中使用 ng-src 指令显示打开的视频文件

Posted

技术标签:

【中文标题】如何在 Angularjs 中使用 ng-src 指令显示打开的视频文件【英文标题】:How to show opened video file using ng-src directive in Angularjs 【发布时间】:2018-03-02 12:30:43 【问题描述】:

我正在使用输入类型文件打开一个视频文件。以下是正在调用的函数和正在发送的文件。

function fetchVideo(file) 
    if(file) 
        var reader = new FileReader();
        reader.onload = function(e) 
            layoutVM.video = e.target.result;             
        
        reader.readAsDataURL(file);
    

这个的html

<video loop muted autoplay>
     <source ng-src="layoutVM.video" type="video/mp4">
</video>

FileReader 工作后,e.target.result 得到一个长字符串,从“data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACA .......... …………”

视频没有在源中加载,知道吗?

【问题讨论】:

【参考方案1】:

虽然尚未测试,但您可以尝试从文件创建对象 URL 而不是使用阅读器吗?

function fetchVideo(file) 
    if(file) 
        layoutVM.video = URL.createObjectURL(file);             
    

【讨论】:

哦,这很痛苦。你也可以尝试添加layoutVM.$apply();吗? ***.com/questions/18754943/…

以上是关于如何在 Angularjs 中使用 ng-src 指令显示打开的视频文件的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS src ng-src的区别

AngularJS进阶(三十二)书海拾贝之特殊的ng-src和ng-href

Angularjs 中的iframe 标签 ng-src 路径 报错问题 解决办法

Angularjs - 加载多次的相同图像

无法使用 img ng-src(无法绑定到 ng-src,因为它不是 img 的已知属性)

swiper在angularjs中使用循环轮播失效的解决方法