我正在使用javascript创建一些需要播放大量声音的内容。
这是我播放声音的代码:
var playsound = function() {
soundthing = document.createElement('audio');
soundthing.setAttribute('src', 'http://mylegguy.x10.mx/GmsJs/happy.wav');
soundthing.play();
}
playsound();

在播放了几百个相同的声音之后,我得到了#34;出了问题" Google Chrome上的消息。随着更多声音的播放,我可以看到内存上升和下降。
我做错了什么?
答案 0 :(得分:3)
它不应该是内存泄漏,如果是,它似乎是Chrome中的一个错误。但是,我绝对只会在你的游戏功能之外只创建一次<audio>
元素,然后一遍又一遍地重复使用它。
答案 1 :(得分:1)
使用HTML5 audio-API: http://www.w3schools.com/html/html5_audio.asp
<强> // HTML 强>
<div class="lg-12">
<audio id="player" controls="controls">
<source id="sourceOgg" src="" type="audio/ogg" />
<source id="sourceMp3" src="" type="audio/mp3" />
Your browser does not support the audio element.
</audio>
</div>
<强> // SCRIPT 强>
function loadSong(){
var player=document.getElementById('player');
sourceMp3.src='my-song.wav';
player.load(); //just start buffering (preload)
playSong();
}
function playSong(){
player.play(); //start playing
}