我是学一些
JavaScript,选择一个文件,并用它来创建的ObjectURL可以设置为HTML5 video.I的src我在Ubuntu明晰尝试了这一点,在Chrome版本18.0.1025.162,并使用本地HTML文件使用同一文件夹中的javascript文件和媒体文件.
我可以使用输入元素选择视频文件,当我点击播放链接时,执行javascript函数playVideo().
javascript文件是
$(document).ready(function(){
player=$('#vid').get(0);
$('#playlink').click(function(){playVideo(player);});
});
function setVideoSrc(player,file){
console.log('winurl='+window.URL);
var fileURL = window.URL.createObjectURL(file);
player.src=fileURL;
player.load();
return;
}
function playVideo(player) {
var file=document.getElementById('fselect').files[0];
console.log('you chose:'+file);
if (file==undefined){
console.log('no file chosen');
}else{
console.log('file='+file);
setVideoSrc(player,file);
}
}
当我没有选择任何文件并单击播放链接时,默认视频播放和控制台日志表示未选择任何文件 – 正如预期的那样.
选择视频文件然后单击playlink时会发生错误.然后playVideo()方法调用setVideoSrc(),其中控制台日志说window.URL’isundefined`
为什么会这样?有人可以帮我纠正这个吗?
这是控制台日志输出
you chose:[object File] //from playVideo() function
file=[object File] //from playVideo() function
winurl=undefined //setVideoSrc() function
Uncaught TypeError: Cannot call method 'createObjectURL' of undefined