Javascript -隐藏div 1秒前直播流视频结束



我有这个页面:

<video src="blob://some-live-stream" autoplay></video>
<div id="hideMePlease"> hide 1 sec before video ends</div>

我想在视频结束前1秒隐藏div,我该怎么做?

N。B:我不知道视频时长,这是直播,视频会自动停止,所以我没办法自己停止。

如果,正如你所说,你无法知道视频的长度,因为它是流媒体的,那么(尽管有相对论时间旅行)你将不可能在它结束前一秒安排一个事件。

然而,我至少会首先尝试使用视频的持续时间属性,这可能是元数据在早期作为流的一部分可用。如果是,您可以使用它来安排隐藏您的div

作为题外话,如果你访问http://www.w3.org/2010/05/video/mediaevents.html页面,你会发现持续时间设置正确,只要你开始播放视频,尽管事实上它似乎是从MP4, OGG或WEBM文件流)。所以这至少是可能的,尽管它可能取决于数据流本身(元数据是在实际视频数据之前还是之后)。

如果数据可用(我认为在这种情况下您将获得持续时间的Inf),那么您将不得不在那之后尽早隐藏div

这可能是当它完成时(触发onended事件)。

因此,简而言之,如果您可以获得持续时间(或者周期性地获得剩余时间,这可能更好),请使用它。否则退回到最后隐藏它,并开始麻烦w3c提供你想在HTML6中的功能。

相关内容

  • 没有找到相关文章

最新更新