Javascript/html5播放多个音频文件或重叠音频
Javascript/html5 play multiple audio files or overlap audio
让我首先说,每当播放器撞到墙上时,我都会尝试播放mp3文件,这已经足够简单了。但我希望在播放器撞到另一面墙时播放另一个声音文件。我试过在html文件中同时使用<audio>
标记,而不是在Javascript中播放:
var sound = document.getElementById("TheHtml5Tag");
同样的问题是,只能播放一个声音,直到第一个声音结束,才能播放下一个声音即使使用多个<audio>
标签和多个声音接下来我也尝试使用类似的代码:
sound = new Audio('Wall_Hit_01.mp3');
sound.addEventListener('ended', function() {
this.currentTime = 0;
}, false);
而不是玩:sound.play();
但问题仍然是一样的:在第一个声音结束之前,我不能播放sound2.play();
或sound3.play();
。非常感谢您的回答/建议。如果没有办法在每个浏览器上都这样做,也许一些关于如何停止所有声音以播放新声音的提示会很好。尽管我更愿意回答最初的问题。
我发现了一个使用纯JavaScript的非常整洁的解决方案。
在我的HTML文件中,我将两个音频元素和一个播放音频按钮放在同一个分区中
<div id="audioplay">
<audio id='audio1' src="ex1.wav" type="audio/wav" preload="auto" autobuffer controls ></audio>
<audio id='audio2' src="ex2.wav" type="audio/wav" preload="auto" autobuffer controls></audio>
<button id='playaudio' onclick='playAudio()'>Play Audio</button>
在我的JS文件中(你也可以使用脚本标记),我放了这段代码,它同时播放这两个文件。确保你的音频src标签指向正确的位置!
function playAudio(){
var audio1 = document.getElementById('audio1');
var audio2 = document.getElementById('audio2');
audio1.play();
audio2.play();
}
相关文章:
- 如何播放部分音频文件
- javascript:发送带有音频文件的POST,然后重定向到新页面
- Javascript::通过HTML5音频播放器播放列表播放多个音频文件
- 正在预加载jPlayer要使用的音频文件
- 将Base64音频文件Mp3解码为可播放的Mp3
- 在播放完成之前再次单击播放音频文件
- 在 Windows 现代(地铁)UI 应用中存储图像文件和音频文件的方法是什么?
- 在 JavaScript 中对音频文件进行计时不准确
- 如何在html5/JS中只预加载音频文件的一部分
- 单个页面上的多个音频文件javascript
- 如何将timbre.js缓冲区导出为.wav或任何其他音频文件格式
- 从PHP脚本获取音频文件时,更改JavaScript音频对象的当前时间
- 如何用一个html5音频播放器播放多个音频文件
- 如何使用日期对象在特定时间激活音频文件
- 使用PHP将通过getUserMedia()和Javascript获得的音频文件上传到服务器
- 使用 Redux 播放音频文件
- 如何在javascript中转换音频文件的比特率
- 如何使用 JSON 下载音频文件
- 第二个音频文件意外循环
- 如何在html页面上使用Flash Player渲染视频/音频文件