Как отправить данные из функции javascript в MIDI.noteOn() в API MIDI.js
Я знаком с C++ и протоколом MIDI, но я новичок в JavaScript. Я успешно запустил пример Basic.html https://github.com/mudcube/MIDI.js/blob/master/examples/Basic.html из git hub ниже:
<body>
<script type="text/javascript">
window.onload = function () {
MIDI.loadPlugin({
soundfontUrl: "./soundfont/",
instrument: "acoustic_grand_piano",
onprogress: function(state, progress) {
console.log(state, progress);
},
onsuccess: function() {
var delay = 0; // play one note every quarter second
var note = 50; // the MIDI note
var velocity = 127; // how hard the note hits
// play the note
MIDI.setVolume(0, 127);
MIDI.noteOn(0, note, velocity, delay);
MIDI.noteOff(0, note, delay + 0.75);
}
});
};
</script>
</body>
Я хотел бы загрузить плагин, когда окно загружается. Затем я хотел бы, чтобы моя собственная функция javascript отправляла указанное значение ноты в MIDI.noteOn() и MIDI.noteOff(). Мне стыдно задавать такой простой вопрос, но я ничего не добиваюсь от своих попыток. Спасибо за любые предложения.
1 ответ
Решение
В JavaScript вы можете называть функции, а затем ссылаться на них по имени.
function playNote() {
MIDI.noteOn(0, 50, 127, 0);
MIDI.noteOff(0, 50, 0.75);
}
MIDI.loadPlugin({
soundfontUrl: './soundfont/',
instrument: 'acoustic_grand_piano',
onsuccess: playNote
});