JavaScript/HTML5吉他,为每根弦弹奏不同的声音

JavaScript/HTML5吉他,为每根弦弹奏不同的声音,javascript,html,Javascript,Html,以下是我的代码链接: 它来自我在这里找到的一个演示(此链接解释了它的工作原理,我使用的部分位于底部): 它创造了6个吉他弦。我想做的是当鼠标移到6个字符串中的一个时播放声音-每个字符串有不同的声音,或者每个字符串有一个向上/向下的声音(可能使用playbackRate属性) 我的代码已经在将鼠标移到单个字符串上时播放了一个声音,但问题是它对每个字符串播放相同的声音。如何使它为每个字符串播放不同的声音?您在此处调用strum(): Stage.prototype.checkPoint = fun

以下是我的代码链接:

它来自我在这里找到的一个演示(此链接解释了它的工作原理,我使用的部分位于底部):

它创造了6个吉他弦。我想做的是当鼠标移到6个字符串中的一个时播放声音-每个字符串有不同的声音,或者每个字符串有一个向上/向下的声音(可能使用playbackRate属性)

我的代码已经在将鼠标移到单个字符串上时播放了一个声音,但问题是它对每个字符串播放相同的声音。如何使它为每个字符串播放不同的声音?

您在此处调用
strum()

Stage.prototype.checkPoint = function(x, y, zone) {
    if(zone.inside(x, y)) {
        zone.string.strum();
    }
};

为什么不添加一个
,它显示了如何在不使用
-标记的情况下播放音频曲目。当您有许多音频片段时,这特别有用

如果你知道如何播放任何声音,为什么不能播放不同的声音?因为我在这里添加了播放声音的功能:GuitarString.prototype.strum=function(){this._strumForce=5;document.getElementById('audiotag1').play();};这使得声音在每根弦上播放。我不知道在代码中哪里可以为每个字符串添加不同的声音,或者为每个新字符串设置相同的音高
Stage.prototype.checkPoint = function(x, y, zone) {
    if(zone.inside(x, y)) {
        zone.string.strum(getAudioID(x, y));
    }
};
GuitarString.prototype.strum = function(audioID) {
    this._strumForce = 5;
    document.getElementById(audioID).play();
};