小编Lio*_*kel的帖子

Video.js - 播放使用createObjectURL创建的blob(本地文件@客户端)

我想在本地播放视频(不将其上传到服务器).我可以在纯javascript和html5中这样做:

HTML:

<video id="video1"></video>
<input type="file" id="fileInput"  multiple />
Run Code Online (Sandbox Code Playgroud)

使用jQuery的javascript:

var $video = $('#video1');
$video.prop('src', URL.createObjectURL($('#fileInput').get(0).files[0]));
$video.get(0).play();
Run Code Online (Sandbox Code Playgroud)

它的工作原理.

但使用带有以下代码的video.js:

var myPlayer = videojs('video1').ready(function () {
            // ready
            var filename = URL.createObjectURL($('#fileInput').get(0).files[0]);
            this.src(filename);
            this.load();  
            this.play();
        });
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

VIDEOJS:TypeError:无法读取null {stack:(...)的属性'1',消息:"无法读取null的属性'1'}

我猜这是因为blob没有文件扩展名,它看起来像这样:

斑点:HTTP%3A //本地主机%3A9000/5621470e-593A-4255-8924-f48731b97803

有没有人知道这个错误的原因以及使用video.js在客户端上播放本地文件的方法?

谢谢,Lior

video blob video.js

4
推荐指数
2
解决办法
6569
查看次数

标签 统计

blob ×1

video ×1

video.js ×1