Я пытаюсь получить амплитуду одного из mp3-файлов.Ниже приведен код:
AudioInputStream ain = AudioSystem.getAudioInputStream(file);
AudioFormat baseFormat = ain.getFormat();
AudioFormat decodedFormat = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED,
baseFormat.getSampleRate(),
16,
baseFormat.getChannels(),
baseFormat.getChannels()*2,
baseFormat.getSampleRate(),
false);
//play(file,din,decodedFormat,ain);
ain = AudioSystem.getAudioInputStream(new BufferedInputStream(new FileInputStream(file)));
DecodedMpegAudioInputStream decodedStream = new DecodedMpegAudioInputStream(decodedFormat, ain);
System.out.println(ain.getFrameLength());
System.out.println(decodedStream.getFrameLength());
Проблема в том, что последние printlns возвращают -1, другими словами, в файле mp3 нет информации о длине кадра или аудиопоток не может прочитать длину кадрачто возможно?).Я пытаюсь узнать о формате mp3 аудио файлов.Я делаю это правильно?ИЛИ есть ли другой способ получить длину кадра?