相关疑难解决方法(0)

Safari:无法从 blob url 动态加载视频

我正在尝试为 html5 视频标签实现动态加载。

当用户通过<input type="file">元素选择视频文件时,我想将其动态加载到<video>元素,并将其附加到正文。

以下代码适用于 Chrome,但不适用于 Safari:

function load_video(file) { // this came from <input type="file"> change event
    var reader = new FileReader();
    reader.onload = function(event) {
        var blob = new Blob([event.target.result]);
        window.URL = window.URL || window.webkitURL;
        var blobURL = window.URL.createObjectURL(blob);
        $('body').append('<video controls width="320" src="' + blobURL + '" onloadedmetadata="alert('loaded meta data!')"></video>');
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我将替换src="' + blobURL + '"为本地文件路径,例如/media/videos/vid1.mp4,视频也会在 Safari 中加载,但我需要它从blobURL.

有什么建议?

多谢。

更新:

正如 Rod 所说,不幸的是,这是 Safari 中的一个已知错误(不受其媒体后端支持)。

javascript blob html5-video

6
推荐指数
2
解决办法
9276
查看次数

标签 统计

blob ×1

html5-video ×1

javascript ×1