javascript - 在 Javascript 上立即播放声音(无需等待完成)

标签 javascript jquery audio

我用 html 和 .play 的键部分实现了播放声音.但是,它会等待轨道完成,并且不会让我在每次点击时立即播放。但是,我想每次按下它时立即触发声音。

<audio id=soundId1>
  <source src=sound/Saaa.wav>
</audio>
<audio id=soundId2>
  <source src=sound/Baaa.wav>
</audio>
$(document).ready(function() {

var sound = {
    65 : 'soundId1',
    23 : 'soundId2'
};

document.onkeydown = function(e) {
    var soundId = sound[e.keyCode];

    if (soundId) document.getElementById(soundId).play();
    else console.log("key not mapped : code is", e.keyCode);

}

有没有办法只使用上述方法而不使用任何库来实现它?

我还研究了 howler.js (我不知道它是否正确使用),但我无法真正理解如何将多个轨道添加到字典中。我了解如何将文件放入声音字典但是如何调用它并将其链接到上面的 keyCode 系统?或者我应该添加一个new Howl分别为每个声音?

实现它的正确方法是什么?

最佳答案

这可能有效,但我没有尝试过:

function Sound(){
    this.src = ""
}

function playSound(source){
    var sound = new Sound();
    sound.src = source;
    sound.play()
}

创建一个新的声音实例,而不是覆盖前一个。

关于javascript - 在 Javascript 上立即播放声音(无需等待完成),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35052367/

相关文章:

javascript - 如何检索使用 HTML5 的 postMessage 发布的数据?

Jquery 标签内容(显示问题)

c# - 如何渲染音频波形?

JavaScript 属性访问 : dot notation vs. 括号?

javascript - 编辑和删除 angularjs 中的表格行

javascript - 如何从 Firefox 扩展中捕获页面标题的变化

javascript - 使用 Javascript 打印动态生成的页面

java - 音频不播放 JAR 文件

html - HTML5音频问题

javascript - 如何引用第一个被调用的对象?