Как исправить ошибку midi inputfilestream в JUCE? - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь прочитать MIDI-файл в последовательность в JUCE, но когда я запускаю его, появляется ошибка, говорящая, что что-то не так с моим inputfilestream.

Я начал с аудиошаблон приложения и запись миди-кода для чтения в функции getNextBlock ().

File midiPath("/Desktop/input.midi");
FileInputStream myStream(midiPath);
MidiFile midifile;
midifile.readFrom(myStream);
int NumofTrack = midifile.getNumTracks();
std::cout<<"The track number:"<<NumofTrack<<std::end;

Я просто хочу проверить функцию чтения в JUCE, и она не работает.Ошибка отображается как «juce_FileInputStream.cpp»:

int64 FileInputStream::getTotalLength()
{
    // You should always check that a stream opened successfully before using it!
    jassert (openedOk());              <--  errror here
    ...

1 Ответ

0 голосов
/ 16 мая 2019

Попробуйте:

File midiPath = File::getSpecialLocation(File::SpecialLocationType::userDesktopDirectory).getChildFile("input.midi");
FileInputStream myStream(midiPath);
MidiFile midifile;
midifile.readFrom(myStream);
int NumofTrack = midifile.getNumTracks();
std::cout<<"The track number:"<<NumofTrack<<std::end;
...