嗯,问题是,对于我的应用程序,我必须动态更改视频src和currentTime。我试过独立改变两个工作正常。但是,当我试图将它们组合在一起时,存在一些问题。
这是我的视频标签和一个按钮,点击哪个src和currentTime必须更改。
<video id="video" src="sample.mp3" controls autoplay></video>
<button onclick="foobar()">change</button>
和我的foobar()函数是
function foobar()
{
v=document.getElementById("video");
v.src = "foo.mp3";
v.load();
v.currentTime = 3;
}
当我删除v.src或v.currentTime时,它的工作正常...... 我试过使用networkState和currentState,没有运气。我甚至等了一段时间(javascript计时器)确保新mp3文件已完全加载,然后尝试更改currentTime。即使这样也行不通。
请帮帮我..
PS:我不想使用任何第三方库。
答案 0 :(得分:2)
视频准备就绪后,您必须更改currentTime
。为此,您可以从视频中侦听事件并更改属性,例如loadeddata
事件。您可以看到完整列表here。
v.addEventListener('loadeddata', function(){v.currentTime = 3;}, true);
答案 1 :(得分:1)
您可以使用网址设置计时器:
function foobar()
{
v=document.getElementById("video");
v.src = "foo.mp3#t=3";
v.load();
}
它适用于这个小提琴http://jsfiddle.net/UkZLf/