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

时间:2015-09-01 06:21:00

标签: javascript html video timeout intervals

我在页面中有这个:

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

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

N.B:我不知道视频时长,它是直播视频,视频自动停止,所以我无法自行阻止它。

1 个答案:

答案 0 :(得分:2)

如果你说的那样,你不能知道视频的长度,因为它的流式传输,它将不可能(尽管有相对论的时间旅行),你可以安排一秒钟的事件在它结束之前。

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

  

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

如果数据可用(我认为在这种情况下你持续Inf),那么你只需要隐藏{{1在那之后的最早时间。

这可能是在它结束时(触发div事件)。

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