javascript - 如何在 JavaScript 中多次播放同一个音频文件

标签 javascript audio

我正在尝试制作一款基于 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:我刚刚意识到问题是同一音频文件无法自身播放。

最佳答案

试试这个东西

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。

关于javascript - 如何在 JavaScript 中多次播放同一个音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59762368/

相关文章:

audio - 代数声音合成可能吗?

javascript - Javascript::音频源为空

javascript - 你能帮我找出循环中的错误吗(JavaScript)

javascript - 将表单从 Angular JS 发送到 Spring

javascript - 如何在 ReactJS 中开启订单

javascript - 加载时的 jQuery SlideDown

javascript - 如何使用 javascript 设置 <audio> 标签的样式?

javascript - 将图像 src 与正则表达式匹配直到出现空格 - Javascript

java - 在程序中更改Java中程序的输出音频电平

audio - 当拓扑有两个分支时,MESessionStarted 事件中的 E_UNEXPECTED