Стоит задача декодировать mp3 в импульсно-кодовую модуляцию.
На просторах сети нашел библиотеку
JLayer
Накидал класс:
public class test {
public static void main(String[] args) throws DecoderException, BitstreamException, IOException{
Bitstream bitStream = new Bitstream(new FileInputStream("Work/sin.mp3"));
boolean done = false;
SampleBuffer output = null;
int i = 0;
int k = 0;
while(! done){
Header frameHeader = bitStream.readFrame();
i++;
if (frameHeader == null) {
done = true;
}
else {
Decoder decoder = new Decoder();
output = (SampleBuffer) decoder.decodeFrame(frameHeader, bitStream); //возвращает следующие 2304 сэмпла
// int freq = output.getSampleFrequency(); //частота дискретизации
// int channel = output.getChannelCount(); //количество каналов
short[] next = output.getBuffer();
System.out.println(next);
}
bitStream.closeFrame();
}
}
}
Для каждого фрейма возвращается значение вида "
[S@2ff4acd0"
Подскажите пожалуйста, как его разобрать в импульсно-кодовую модуляцию?
Или может Вы знаете другую библиотеку с таким функционалом и знаете как с ее помощью реализовать декодирование?
Заранее спасибо!