You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

音频文件播放时机优化:点击时重置音频播放的实现方案

解决音频点击需等待播放完毕才能再次触发的问题

问题分析

你的代码存在两个关键问题:

  1. 变量名不匹配:创建的音频实例是jumpy,但点击事件里调用的是不存在的jumpy2,会导致音频无法正常触发。
  2. 未重置音频播放位置:默认情况下,音频播放完毕后需等待结束才能再次播放,正在播放时点击也不会从头开始。

解决方案

修改代码,在每次点击时先重置音频到起始位置,再触发播放:

const jumpy = new Audio();
jumpy.src = "./audio/jump2.wav";

const cvs = document.getElementById("ghost");

cvs.addEventListener("click", function(evt){
    // 将音频播放位置重置到开头
    jumpy.currentTime = 0;
    // 触发播放
    jumpy.play();
});

关键说明

  • currentTime = 0:这个属性控制音频的当前播放进度,设置为0会让音频立刻回到起始点,不管之前是处于播放状态还是已播放完毕。
  • 修正变量名:确保调用的音频实例和你创建的一致,避免出现ReferenceError错误。

修改后,每次点击元素都会立即从头播放音频,无需等待上一次播放结束。

内容的提问来源于stack exchange,提问作者relster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 00:20:32