首页 > 解决方案 > 如何在 JavaScript 中一次多次播放同一个音频文件

问题描述

我正在尝试制作基于音乐的基于 JavaScript 的游戏。我正在尝试在播放器移动时播放一些声音,但如果前一个音频文件尚未完成,它最终会切断第一个文件或不播放第二个文件。我正在使用 audio.play() 方法。

notes.C2 = new Audio();
notes.C2.src = 'piano/C2.wav';

notes.D2 = new Audio();
notes.D2.src = 'piano/D2.wav';
if (l1.cats.x == 0) {
    notes.C2.play();
}
if (l1.cats.x == 1) {
    notes.D2.play();
}

编辑:我也不熟悉 API 和其他东西,所以如果可能的话,我不想使用它们。编辑 2:我刚刚意识到问题是同一个音频文件不能自己播放。

标签: javascriptaudio

解决方案


试试这个东西

var audio1  = new Audio();
var src1  = document.createElement("source");
src1.type = "audio/mpeg";
src1.src  = "audio/Dombra.mp3";
audio1.appendChild(src1);

var audio2  = new Audio();
var src2  = document.createElement("source");
src2.type = "audio/mpeg";
src2.src  = "audio/(TESBIHAT).mp3";
audio2.appendChild(src2);

audio1.play(); audio2.play();

它适用于 chrome 和 firefox。


推荐阅读