更改src和currentTime;我不能一起工作

changing src and currentTime doesn't work together

本文关键字:不能 一起 工作 src currentTime 更改      更新时间:2023-09-26

问题是,对于我的应用程序,我必须动态更改视频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。即使这样也没有奏效。

请帮帮我…

附言:我不想使用任何第三方图书馆。

当视频准备就绪时,您必须更改currentTime。为此,您可以侦听视频中的事件,然后更改属性,例如loadeddata事件。你可以在这里看到完整的列表。

v.addEventListener('loadeddata', function(){v.currentTime = 3;}, true);

您可以使用url设置计时器:

function foobar()
{
    v=document.getElementById("video");
    v.src = "foo.mp3#t=3";
    v.load();
}

它在这把小提琴里工作http://jsfiddle.net/UkZLf/