Есть моделька ноты с соответствующими ей полями. Из этих нот сделана музыкальная дорожка, судя по всему у нее формат файла MIDI
. Сама музыкальная дорожка перекодирована в формат .trk
.
Данный файл формата .trk
нужно распарсить на байты и просетать их в поля ноты. Потом просетать поля следующей ноты и так далее пока дорожка не закончится. Подскажите, пожалуйста, как это сделать?
Байты файла можно получить с помощью библиотеки commons-io
:
dependencies {
compile "commons-io:commons-io:+"
}
С помощью кода:
private byte[] loadBytes() {
byte[] bytes = new byte[0];
try {
InputStream fileInputStream = new FileInputStream(backgroundFile);
try {
bytes = IOUtils.toByteArray(fileInputStream);
} finally {
fileInputStream.close();
}
} catch (IOException e) {
AppLog.printError(e);
}
return bytes;
}
Прочитать файл в массив байт можно стандартными средствами Java без использования библиотек:
public static @NonNull byte[] load(@NonNull File file) throws IOException {
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
int size = fis.available();
byte[] buffer = new byte[size];
fis.read(buffer);
return buffer;
} finally {
if (fis != null) {
fis.close();
}
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок