gpt4 book ai didi

javascript - JavaScript 音频播放延迟

转载 作者:行者123 更新时间:2023-12-01 02:53:47 48 4
gpt4 key购买 nike

我正在用 JavaScript 编写一个非常简单的游戏,我注意到从我调用“play”函数到音频开始播放大约有 0.5 秒的延迟。这正常吗?

这是我的代码:

var audio = new Audio("games/aventura4/sfx/hit.wav");
audio.play();

我也尝试过只初始化一次音频变量,然后调用audio.play()(当然是在audio.currentTime = 0之后),延迟仍然存在!

我做错了什么吗? (顺便说一句,我正在 Safari 上尝试这个)。

编辑:经过尝试后,问题似乎出在 Safari 上运行。 Chrome 上没有延迟。但这仍然留下了一个问题:为什么它会在 Safari 中发生?!?!

编辑2:它似乎可能与另一个问题相关:HTML5 Audio tag on Safari has a delay

最佳答案

当您点击“播放”按钮时(无论是手动操作还是代码操作),都会发出网络请求来获取音频。虽然它可以在下载完整文件之前启动,但它需要在启动之前将合理的数量下载到缓冲区中 - 否则在尝试播放时会严重卡顿。

您可以向浏览器提示您希望预加载音频:

<audio preload="auto"> 

但这只是一个提示,并不能保证任何事情。如果您过于随意地使用此属性,可能会适得其反。

使用 JavaScript 解决方案,您可以更早地实例化音频。当缓冲足以播放时,会触发一个 oncanplaythrough 事件。

关于javascript - JavaScript 音频播放延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46836692/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com