在 JavaScript 中并行播放相同的 HTML5 音频

dra*_*oot 4 html javascript audio

在 JavaScript 中创建音频播放器的常用方法

var a = new Audio();
a.src = "test.mp3";
Run Code Online (Sandbox Code Playgroud)

假设音频数据归该Audio对象所有。单独加载音频数据,然后创建播放现有数据的音频播放器的正确方法是什么?一种用例是当您想要由多个播放器同时播放相同的声音时,例如创建回声效果。我认为要使用相同的数据创建另一个玩家可以这样做

var b = new Audio();
b.src = a.src;
Run Code Online (Sandbox Code Playgroud)

但我想知道这是否是最好的方法...如果是,是否需要等待loadeddata/ canplaythroughevents onb鉴于这些事件已经触发a

Sem*_*mra 5

由于 Audio 是常规 DOM 元素,因此您可以使用 cloneNode() 方法来创建和播放相同的声音。

// Create your audio and clone
var myAudio = new Audio('my.mp3');
var myClonedAudio = myAudio.cloneNode();

// Play them simultaneously
myAudio.play();
myClonedAudio.play();
Run Code Online (Sandbox Code Playgroud)