Ответ 1
В документации для MP3SPI:
File file = new File(filename);
AudioInputStream in= AudioSystem.getAudioInputStream(file);
AudioInputStream din = null;
AudioFormat baseFormat = in.getFormat();
AudioFormat decodedFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,
baseFormat.getSampleRate(),
16,
baseFormat.getChannels(),
baseFormat.getChannels() * 2,
baseFormat.getSampleRate(),
false);
din = AudioSystem.getAudioInputStream(decodedFormat, in);
Затем вы просто читаете данные из din
- это будут "сырые" данные в соответствии с decodedFormat
. (Дополнительную информацию см. В docs для AudioFormat
.)
(Обратите внимание, что этот примерный код не закрывает поток или что-то в этом роде - используйте соответствующие блоки try/finally как обычно.)