我以 dorukayhan 的回答为基础,但我的声音会重复数千次。我担心创建多个新的音频标签最终会导致系统崩溃。
所以我创建了一个函数,循环遍历一堆现有的音频标签。
标签位于您的 HTML 中的某个位置。我把我的放在结束 </body> 标记之前。我的声音很短,所以 10 个标签足以流畅播放,但您可以尝试使用音频标签的数量。
<audio id="audio0"></audio>
<audio id="audio1"></audio>
<audio id="audio2"></audio>
<audio id="audio3"></audio>
<audio id="audio4"></audio>
<audio id="audio5"></audio>
<audio id="audio6"></audio>
<audio id="audio7"></audio>
<audio id="audio8"></audio>
<audio id="audio9"></audio>
//declare a global counter in your script
<script>
var audiocount=0;
/*other code...*/
/*call to play sound*/
Playsound('mysound.wav')
/*other code*.../
/*add function to play sounds*/
function Playsound(MySoundPlay)
{
/*id() is a shortcut for getElementById*/
id('audio'+audiocount).src=MySoundPlay
id('audio'+audiocount).play()
audiocount++;
/*reset your counter according to no. of audio tags you created*/
if (audiocount>9){audiocount=0;}
}
/*shortcut function for getElementById*/
function id(myID){return document.getElementById(myID)}
</script>