我一直在制作网络游戏一段时间,我很快注意到,一旦我使用 .cloneNode(true) 多次播放同一个音频文件以避免每次我想播放音频文件时一遍又一遍地重新下载文件,我就松了控制诸如播放音量和播放速率之类的东西,有谁知道我如何才能重新控制音频文件的每个副本的这些参数?
我尝试为原始文件中的音频副本设置参数,但没有果汁
In the HTML :
<audio src = "sight.wav" id="sight"/>
<button onclick="playSound()">Play some audio</audio>
In the Js
var get = new Function("id", "return document.getElementById(id)");
function playSound()
{
get(sight).volume = 0.30;
get(sight).playbackRate = 0.40;
get(sight).cloneNode(true).play();
};
对我来说看起来像是有效的代码,但就像我说的那样,没有果汁,cloneNodes 完全忽略了音量和播放设置,只播放正常的音频。我应该怎么办?