【问题标题】:Javascript - hide div 1 sec before live stream on video endsJavascript - 在视频直播结束前 1 秒隐藏 div
【发布时间】:2015-09-01 06:21:00
【问题描述】:

我在页面中有这个:

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

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

注意:我不知道视频时长,它是直播,视频会自动停止,所以我无法自己停止。

【问题讨论】:

    标签: javascript html video timeout intervals


    【解决方案1】:

    如您所说,如果您无法知道视频的长度,因为它正在流式传输,那么不可能(尽管有相对论的时间旅行)让您在活动结束前一秒安排活动。

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

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

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

    大概是在它完成时(触发onended 事件)。

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

    【讨论】:

    • 很高兴听到更多关于此的意见,但最后我认为正如你所说的那样:)
    猜你喜欢
    • 2014-09-30
    • 1970-01-01
    • 2020-02-20
    • 2016-07-26
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多