2012-04-20 200 views
3

学校我需要使用带有额外控件的HTML5视频播放器以及从本地驱动器中选择文件的选项。该页面也在本地运行。所以它没有上传。文件(HTML和视频)位于相同的本地文件夹中。选择本地视频并在HTML5视频播放器(所有本地,相同的文件夹)中播放

对于选择-东西我用一个形式<form><input type="file" id="chosen" /><button type="submit" onclick="open();">Change</button></form>。现在,这里是我的JavaScript应该操纵录像机来源:

function open() 
{ 
    var file=document.getElementById('chosen'); 
    var fileURL = window.URL.createObjectURL(file); 
    player.src=fileURL; 
    player.load(); 
} 

的录像机看起来是这样的:

<video id=player> 
<source src="big-buck-bunny_trailer.webm" type="video/webm" /> 
<source src="trailer_480p.mov" type"video/mp4" /> 
</video> 

,当然我已经连接了变量“玩家”我的录像机。 player.load() - 正常工作,所以函数被正确调用。

现在我的问题:Javascript-Part中出现了什么问题?该项目不像解释的那样工作。

也许你可以帮我。谢谢;)

+1

你的问题是什么? – JJJ 2012-04-20 11:13:06

+0

你在FF或其他浏览器中检查? – 2012-04-20 11:38:34

+0

对不起,我很匆忙。所以问题是JavaScript如何操作视频的源标签。 Video和HTML-File在本地位于同一个文件夹中。我正在检查IE9和FF – Schneeschipp 2012-04-20 11:43:21

回答

3

我不确定你在问什么,但是你的脚本中有一些问题。

function openPlayer(){ // open() is a native function, don't override 
    var vplayer=document.getElementById('player'); // A reference to the video-element 
    var file=document.getElementById('chosen').files[0]; // 1st member in files-collection 
    var fileURL = window.URL.createObjectURL(file); 
    vplayer.src=fileURL; 
    vplayer.load(); 
    return; // A good manner to end up a function 
} 

而且不要忘记在onclick()改变函数的名称。

更多信息有关<video>https://developer.mozilla.org/en/HTML/Element/video

特别是对脚本:https://developer.mozilla.org/en/DOM/HTMLMediaElement

0

我不知道,如果没有编解码器在这里产生一个问题,你的视频源网址应该是这个样子:

<source src="big-buck-bunny_trailer.webm" type='video/webm; codecs="vp8, vorbis"' />