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