Javascript 为什么在audiosrc change HTML/JS上调用timeupdate事件

Javascript 为什么在audiosrc change HTML/JS上调用timeupdate事件,javascript,html5-audio,Javascript,Html5 Audio,我的标记中有一个音频文件: <audio class="audio-player"> <source src="audio/scene_1.wav" type="audio/wav" /> </audio> 当用户与页面的某些元素交互时,我将更新音频src: $('.audio-player').attr('src', `audio/scene_${g.currentScene.next}.wav`) 有趣的是,它将进入活动,即使音频之前已暂停。我想知

我的标记中有一个音频文件:

<audio class="audio-player">
  <source src="audio/scene_1.wav" type="audio/wav" />
</audio>
当用户与页面的某些元素交互时,我将更新音频src:

$('.audio-player').attr('src', `audio/scene_${g.currentScene.next}.wav`)
有趣的是,它将进入活动,即使音频之前已暂停。我想知道为什么会这样?当我更改音频的
src
时,为什么它会触发
ontimeupdate
事件


我在这里混合了Vanilla JS和jQuery,但这不会有任何区别。

我猜更改
.src
属性会触发

此算法的一部分要求更改播放位置:

  • 将和设置为
  • 此更改将触发一个事件:

    当更改时,则:如果在之前,则用户代理必须到;否则,如果用户代理在过去15到250毫秒内没有在元素上触发事件,并且还没有为此类事件运行事件处理程序,则用户代理必须在元素上命名


    因为需要客户端重置播放位置:“3.将当前播放位置和官方播放位置设置为最早可能的位置”,我猜是因为时间从(某物)更新为零。有道理。也许可以在处理程序中检查播放是否暂停,并做出相应的反应。@Andreas谢谢,我不知道更改src将如何影响该事件。因此,它将重置计时器。也许你能提供一个答案?
    $('.audio-player').attr('src', `audio/scene_${g.currentScene.next}.wav`)