gpt4 book ai didi

javascript - 动态加载 midi.js soundfonts

转载 作者:行者123 更新时间:2023-12-04 02:00:14 25 4
gpt4 key购买 nike

我刚开始使用 midi.js,到目前为止它看起来很整洁。我目前正在一次加载我所有的声音字体,如下所示:

    MIDI.loadPlugin({
soundfontUrl: "js/MIDI/soundfont/FluidR3_GM/",
instrument: instruments,
callback: function() {
app.MIDIManager.midiLoaded = true;
console.log("DONE LOADING");
}
});

随着仪器阵列的增长,它开始需要相当长的时间才能完成加载。有没有办法只在需要时动态加载仪器?我能找到加载仪器的唯一方法是调用 loadPlugin。我也找不到任何全面的 API 文档(我查看了演示页面和 github),所以如果我只是想念完整文档的链接。

最佳答案

您可以使用 MIDI.loadResource 动态加载仪器(我在 GitHub 上的 js/midi/loader.js 代码中发现了一个未记录的函数)。

例如,下面的代码在 channel 1 上添加了一个类卓琴,假设您想在 channel 0 上保留以前加载的乐器。

loadInstrument('banjo')

function loadInstrument(instrumentName) {
MIDI.loadResource({
instrument: instrumentName,
onprogress: function(state, percent) {
console.log(state, percent);
},
onsuccess: function() {
MIDI.programChange(1, MIDI.GM.byName[instrumentName].number);
}
})
}

关于javascript - 动态加载 midi.js soundfonts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28614995/

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