Я пытаюсь написать простой MIDI-файл в java, но я не могу его открыть. Я просто создаю три ноты, которые играют одновременно.Записать midi-файл в JAVA
это мой код:
file_midi.write("MThd".getBytes());
file_midi.write(fourToBytes(length));
file_midi.write(formatType);
file_midi.write(nbreVoies);
file_midi.write(PPQN);
file_midi.write("MTrk".getBytes());
file_midi.write(fourToBytes(31));
temp = (char)choix_inst[0];
file_midi.write(zero);
file_midi.write(c);
file_midi.write(zero);
num_note_midi = 50;
velocity = 10;
file_midi.write(zero);
file_midi.write(non);
file_midi.write(num_note_midi); //numéro de la note
file_midi.write(velocity); //vélocité de la note
num_note_midi = 60;
file_midi.write(zero);
file_midi.write(non);
file_midi.write(num_note_midi); //numéro de la note
file_midi.write(velocity); //vélocité de la note
num_note_midi = 70;
file_midi.write(zero);
file_midi.write(non);
file_midi.write(num_note_midi); //numéro de la note
file_midi.write(velocity); //vélocité de la note
num_note_midi = 50;
t_note_midi = 160;
file_midi.write(WriteVarLen(t_note_midi));
file_midi.write(noff);
file_midi.write(num_note_midi); //numéro de la note
file_midi.write(velocity); //vélocité de la note
num_note_midi = 60;
file_midi.write(WriteVarLen(t_note_midi));
file_midi.write(noff);
file_midi.write(num_note_midi); //numéro de la note
file_midi.write(velocity); //vélocité de la note
num_note_midi = 70;
file_midi.write(WriteVarLen(t_note_midi));
file_midi.write(noff);
file_midi.write(num_note_midi); //numéro de la note
file_midi.write(velocity); //vélocité de la note
file_midi.write(zero);
file_midi.write(ff);
file_midi.write(a_2f);
file_midi.write(zero);
file_midi.close();
тогда я получаю этот миди файл отображается в шестнадцатеричном формате, ведьма, кажется, соответствуют нормальному миди формат файла.
4D 54 68 64 00 00 00 06 00 01 00 01 00 A0 4D 54 72 6B 00 00 00 1F 00 C0 00 00 90 32 0A 00 90 3C 0A 00 90 46 0A A0 80 32 0A A0 80 3C 0A A0 80 46 0A 00 FF 2F 00
Что случилось с моим файлом?
Что вы подразумеваете под "неспособностью открыть его"? Не играет ли он в проигрывателе MIDI-файлов? – SamTebbs33
невозможно воспроизвести или даже открыть его с помощью листового редактора, такого как MuseScore, по-видимому, есть проблема с концом файла, точная ошибка неожиданна EOF. –