HTML5 视频 - 设置 video.currentTime 会破坏播放器

2024-02-28

我正在尝试与 Chrome 中的第三方 html5 视频播放器进行交互。我能够因此获得对它的有效引用:

document.getElementsByTagName("video")[1]

...以及readyState是 4,所以一切都很好。

我可以成功(并获得预期结果)调用:

document.getElementsByTagName("video")[1].play();
document.getElementsByTagName("video")[1].pause();

但是当我打电话时:

document.getElementsByTagName("video")[1].currentTime = 500;

...视频冻结并且不会前进到新的currentTime。视频时长远远超过500秒,所以应该能够前进到那个位置。除了500次之外,我还尝试过其他几次,结果都一样。如果我检查currentTime,我刚刚设置的内容是正确的。但它实际上并没有去那里。我也无法再与视频互动。它忽略任何调用play() or pause()在我尝试设置之后currentTime.

Before I call currentTime, when I call play() I get this valid promise back, and everything else still works: enter image description here

After I call currentTime, when I call play(), I get this broken promise back, and now nothing works on that video object:enter image description here

如果你有一个Hulu https://www.hulu.com/帐户中,您只需在 Chrome 开发者控制台中尝试即可轻松在任何视频上观察到此行为。

EDIT:有人向我指出,在休息时间之前跳过很多距离,但实际上跳过一小段距离效果很好。可能与穿插的广告有关。


尝试下面的代码,它会先暂停然后设置你的位置然后再次播放

document.getElementsByTagName("video")[1].pause();
document.getElementsByTagName("video")[1].currentTime = 500;
document.getElementsByTagName("video")[1].play();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML5 视频 - 设置 video.currentTime 会破坏播放器 的相关文章

随机推荐