【发布时间】:2025-12-01 05:50:01
【问题描述】:
我的系统出现音频问题,导致偶尔出现裂缝或卡顿,以及视频/音频不同步。
不同的程序和上下文对此有不同的处理方式。因此,对于我最常见的 YouTube 视频案例,我可以在“Quantum”之前的 Firefox (v 当然,当事情顺利时这很聪明,但如果事情出错了怎么办?
我想知道使缓冲区无效的方法,触发对音频和视频轨道的重新评估,以确保它们再次同步。 HTMLMediaElement.buffered是只读的,其中的范围对象也不提供任何修改接口。
我的幼稚方法:替换 src 值(参考)
我仍然缺乏解决方案的最常见问题是网络浏览器中的视频,最常见的是 YouTube。
我尝试通过使用 videoElement.src += "?refresh=" + Math.random(0,1); 附加查询字符串或使用井号 ("#") 仅附加“哈希”/DOM 引用来更改 src 值,但 YouTube 全部返回“未找到”我正在操作的常用 blob 资源。
现在我被困住了。
我正在查看的似乎有用的 DOM 元素的所有属性都是只读的(例如 HTMLMediaElement.buffered 范围)
有没有办法向浏览器发出信号,使迄今为止组装的 A/V 缓冲区无效并根据当前时间位置重新评估事物?
【问题讨论】:
标签: javascript dom browser