Javascript HTMLMediaElement.oncanplaythrough是否需要多次调用?

Javascript HTMLMediaElement.oncanplaythrough是否需要多次调用?,javascript,html5-video,html5-audio,dom-events,Javascript,Html5 Video,Html5 Audio,Dom Events,是HTMLMEDIALEMENT。oncanplaythrough事件预期在单个中被多次调度。oncanplaythrough或附加到HTMLMEDIALEMENT的“canplaythrough”事件处理程序 如果是 在预期的多个canplaythrough事件中调度的不同状态类型有哪些 如何在oncanplay事件处理程序中正确创建一个条件,以便仅当canplaythrough事件的上一个预期状态类型计算为true时才执行任务 如果您更改元素的currentTime,它可能会多次触发。但是

HTMLMEDIALEMENT。oncanplaythrough
事件预期在单个
中被多次调度。oncanplaythrough
附加到
HTMLMEDIALEMENT
的“canplaythrough”
事件处理程序

如果是

  • 在预期的多个
    canplaythrough
    事件中调度的不同状态类型有哪些

  • 如何在
    oncanplay
    事件处理程序中正确创建一个条件,以便仅当
    canplaythrough
    事件的上一个预期状态类型计算为
    true
    时才执行任务


如果您更改元素的
currentTime
,它可能会多次触发。但是,我不确定这是否是范围请求的错误缓存行为的结果,或者这是否是预期的结果。说到你的观点,要想得到你想要做的事情有点难。。。对于正常加载的文件,没有办法确定,您的视频文件可能是10小时1080p的视频,浏览器不会将所有内容都保存在内存中,因此如果更改当前时间,
canplaythrough
事件可能会再次触发。但是对于小文件,您总是可以
将其完全提取为一个blob并显示该blob。@kaido当前上下文是
src
片段设置为
#t=xx:xx,yy:yy
。oncanplaythrough
附加在
javascript
。在处理程序中,
MediaRecorder
实例链接到
.play()。然后()
console
至少三次记录
canplaythrough
事件,因此,创建了
MediaRecorder
的新实例,影响单个
MediaRecorder
录制播放的预期结果。从中浏览时,尚未发现预期将不止一次调度的事件。为什么不能在触发事件侦听器后立即将其删除?还有,为什么您要等待您的录音机的canplaythrough事件?它确实记录了一条流,所以canplay应该足够了。您甚至可以监听
暂停
暂停
暂停
事件,然后暂停录音机。在blobURI上设置范围时间在FF和chrome中确实有效。但还要注意,在搜索时,我猜您从
captureStream
获得的流可能会处于
mute
状态。(不确定是否会发生,但实现太年轻,有太多的bug…)然后记录器将停止。因此,您可能希望在流程中添加一个步骤:在画布上绘制视频,而不是录制画布流。对于您的问题,这里是这样说的:“用户代理估计[…]媒体资源可以以当前播放速率呈现到最后,而无需停止进一步缓冲。”。因此,首先,它是由浏览器做出的估计。它假设播放速率稳定,只讨论缓冲。当您更改当前时间时,允许浏览器再次缓冲您的资源。所以是的,预计它可以发射多次。