gpt4 book ai didi

JavaScript/HTML5 吉他,为每个琴弦演奏不同的声音

转载 作者:行者123 更新时间:2023-11-28 09:29:24 26 4
gpt4 key购买 nike

这是我的代码的链接:http://jsbin.com/ebadic/9/edit

它来 self 在这里找到的演示(此链接解释了它是如何工作的,我正在使用的部分位于底部):

http://www.html5rocks.com/en/tutorials/casestudies/jamwithchrome-interaction/

它创建 6 根吉他弦。我想做的是,当鼠标悬停在 6 个琴弦之一上时播放声音 - 每个琴弦有不同的声音,或者每个琴弦的音调向上/向下的单个声音(可能使用playbackRate 属性)

当我将鼠标悬停在单个字符串上时,我的代码已经播放了声音,但问题是它为每个字符串播放相同的声音。如何让它为每个琴弦演奏不同的声音?

最佳答案

您调用strum()这里:

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

为什么不添加 <audio>这里的标识符?我想您想要播放的声音取决于 x 和 y 坐标?

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

如何填写 getAudioID(x, y)取决于你(我不是音乐家,所以我真的不知道:))

当然,您需要更改 strum()方法也可以是这样的:

GuitarString.prototype.strum = function(audioID) {
this._strumForce = 5;
document.getElementById(audioID).play();
};

(到目前为止,这非常适合您当前的设计。)

<小时/>

更好的方法是添加 audioID给您GuitarString实例化吉他弦对象时的类。因此,每个吉他弦(对象)都使用自己的音轨。

尽管这需要对您的代码进行一些更大的修改,但我建议这样做,因为它会产生更加清晰易懂的代码!

<小时/>

还结帐Sound effects in JavaScript / HTML5它展示了如何在不使用 <audio> 的情况下播放音轨-标签。当您有很多音频片段时,这特别有用!

关于JavaScript/HTML5 吉他,为每个琴弦演奏不同的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13911851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com