Java - удаление заголовков из .wav
Вопрос
Я читаю файл .wav в байтовый массив со следующим кодом.
AudioInputStream inputStream =
AudioSystem.getAudioInputStream(/*my .wav file */);
int numBytes = inputStream.available();
byte[] buffer = new byte[numBytes];
inputStream.read(buffer, 0, numBytes);
inputStream.close();
Есть ли простой способ удалить заголовки .wav до или после чтения в байтовый массив?
Решение
Другие советы
Данные из метода readIn) AudioInputStream уже являются необработанными wav-данными. Поэтому не нужно беспокоиться о заголовке .wav. Если вы хотите получить доступ к заголовку, вы должны использовать объект AudioFormat, связанный с этим AudioInputStream.
http://download.oracle.com/javase/tutorial/sound/ converters.html р>
Кстати, если ваш файл .wav не очень маленький, вы не получите все за одно чтение, как вы сделали с вашим образцом. Вы должны будете поместить свои чтения в цикл while, как в первом фрагменте кода в приведенном выше уроке. Р>
Если правильно, заголовок .wav имеет длину 44 байта, поэтому пропустите / удалите первые 44, и вот оно у вас.
Хотя точно не знаю.
Является ли заголовок wav-файла фиксированным размером? Если это так inputStream.skip?