Я пытаюсь написать функцию для динамического создания midi-файлов на Android. Поскольку нет библиотеки javax.sound.midi, я просто пишу байты для файла. Я нашел несколько отличных руководств (см. Ниже), поэтому мне удалось создать несколько дорожек. Однако я не смог понять, как переключать инструменты на любую из треков, поэтому каждый пользователь просто использует инструмент по умолчанию. Я думаю, что из документов я прочитал код, который мне нужен, это «смена программы», за которым следует номер программы.Изменяемые инструменты в midi кодировании?
То, что я пытался до сих пор пишет следующее к массиву byteoutputstream:
track.write((byte) 192); // 128 + 64
track.write((byte) x); // x is the instrument number between 1-128.
Я поставил это перед началом записки на внимание от информации/дорожки, но это Безразлично» t, похоже, ничего не делает, заставляя midi занять много времени. Я здесь, на правильном пути, или я чего-то не хватает? Любая помощь приветствуется.
http://faydoc.tripod.com/formats/mid.htm https://ccrma.stanford.edu/~craig/articles/linuxmidi/misc/essenmidi.html