使用VideoJS停止视频?

时间:2013-04-26 14:05:13

标签: video.js

使用VideoJS停止视频的最佳方法是什么?我一直在使用pause()方法来停止视频,然后隐藏视频标签,但我遇到了一个用例,我会尝试在视频仍在加载/缓冲时停止视频。在视频仍在缓冲时调用pause()方法的问题是视频尚未播放,因此pause()方法不执行任何操作。

所以会发生的是视频继续缓冲,视频缓冲后,视频开始播放。 (因为我在停止视频时隐藏了视频,我看不到视频播放,但我仍能听到它仍在播放。)

要解决此问题,我可以在播放器发送“timeupdate”事件时进行监听,然后在视频暂停时立即暂停视频。但是,这似乎是一种黑客攻击,并且对于其他用例而言也是错误的。

我真的希望VideoJS有一个专用的stop()函数。也许在下一个版本中。 @see https://github.com/zencoder/video-js/issues/296

有人可以告诉我如何停止视频吗?

更新 所以我试着实现我原先想到的解决方案:当调度“timeupdate”事件并且应该停止播放器时调用“stop”函数。但是,我发现了一些奇怪的东西当玩家处于停止状态时,玩家没有派遣任何事件。

然后我创建了一个timeOut函数来调用每一秒。在timeOut函数中,我检查了videoJS播放器的当前时间(即_myPlayer.currentTime())并将其写入控制台。当前时间始终保持不变:0秒。但是,我可以听到视频推进/播放。看起来这个视频播放器与我听到的内容完全无关。

UPDATE2: 为了防止信息有价值,我更新了原始帖子以包含我在停止视频时隐藏视频标签的事实:即$(“#playerID”)。hide()

1 个答案:

答案 0 :(得分:1)

在这个VideoJS版本中,似乎没有解决此问题的方法,可能在将来的版本中。

现在,您可以尝试加载单帧“空”视频来代替当前缓冲的视频。并将预加载设置为“关闭”。

或者使用“timeupdate”按照您的建议调用pause()。

希望有所帮助......