我正在尝试为 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>');
}
}
现在,如果我src="' + blobURL + '"
用本地文件路径替换,比如说/media/videos/vid1.mp4
-,视频也会在 Safari 中加载,但我需要它来从blobURL
.
有什么建议么?
多谢。
更新:
正如 Rod 所说,不幸的是,这是 Safari 中的一个已知错误(它的媒体后端不支持)。