Как воспроизвести отдельные MIDI-ноты на веб-странице?
Я знаю два способа сделать это:
Напишите элемент управления ActiveX. Тогда это работает только в Windows. Когда-то давно я писал элементы управления ActiveX, но теперь никто не любит их устанавливать.
Напишите Java-апплет. Это нормально, если у пользователя уже установлена Java, но многие пользователи отключают апплеты. Вот как я это сделал, и вы можете увидеть результат на newfweiler.com - если он работает на вашей конкретной установке. Вам понадобится по крайней мере Java 5, хотя я полагаю, что мог бы переписать его на Java 1.2, если бы мне пришлось. «Секвенсор реального времени» и «Синтезатор звука Java» у меня не работают; Я думаю, вам нужно установить волновые таблицы или что-то еще, чтобы они работали.
У большинства пользователей установлен Flash, но я просмотрел документацию по Flash и Flex и не нашел ничего эквивалентного javax.sound.midi.
Есть несколько способов воспроизвести MIDI-файл на веб-странице, и вы можете найти «Javascript Pianos», которые воспроизводят однонотный MIDI-файл всякий раз, когда вы нажимаете клавишу. Вы не можете играть несколько нот одновременно или удерживать клавишу нажатой для длинной ноты.
То, что я пытаюсь сделать, эквивалентно javax.sound.midi.Receiver.send(midiMsg, -1), используя только то, что большинство людей обычно устанавливало на машину.