Я анализирую музыкальные mp3-файлы. Что я делаю, так это извлекаю аудиоданные из файла и вычисляю сходство музыки.
Я использую javazoom для обработки mp3 файлов. С помощью audioFormat я извлекаю необработанные данные из mp3-файла:
byte[] audioBytes = new byte[numBytes];
in_format_init = AudioSystem.getAudioInputStream(musicFile);
AudioFormat formatInit = in_format_init.getFormat();
AudioFormat formatFinal = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED,
formatInit.getSampleRate(),
16,
formatInit.getChannels(),
formatInit.getChannels()*2,
formatInit.getSampleRate(),
false);
AudioInputStream streamIn = AudioSystem.getAudioInputStream(formatFinal, in_format_init);
while (((numBytesRead = streamIn.read(audioBytes)) != -1))
{...}
При этом я сохраняю аудиоданные (без заголовков и тегов) в audioBytes, а затем обрабатывается информация, хранящаяся в массиве.
Мой вопрос: возможно ли извлечь аудиоинформацию из аудиофайла mp3 и сохранить ее, как я делаю в моем примере? Я читал о JMF, но это сбивает меня с толку.
Спасибо.