我正在使用 JavaScript 和 HTML5 制作音频播放器。现在我遇到了一个错误,当我尝试更改文件,然后根据滑块的位置播放它时, player.duration 是 NaN 因为它还没有加载那么远。如果我发出警报,那么它工作正常。所以基本上,如果浏览器只是勉强挂起,它会给它足够的时间,而当它直接运行时,它并没有首先完成加载。
player.src = file;
// The next command is reached before the full effect of the above line is finished
player.currentTime = (slider.offsetLeft) / trackWidth * player.duration;
里面还有一些其他的东西,但本质上,我需要一种方法来稍微停顿一下,或者在第二行运行之前等待一切完成。我意识到我可以在第二行使用 setTimeout,但该行在函数中的几个位置,所以我希望可以在第一行之后放置一个“一个修复”。