如何在Java中读取mp3文件的幅度

问题描述

我可以使用以下代码读取wav文件的幅度

AudioInputStream in = AudioSystem.getAudioInputStream(file);
AudioFormat baseFormat = in.getFormat();
AudioFormat decodedFormat = new AudioFormat(Encoding.PCM_FLOAT,44100,32,1,4,false);
AudioInputStream din = AudioSystem.getAudioInputStream(decodedFormat,in);

byte[] array = new byte[4];
int read = din.read(array);
while (read != -1) {
    ByteBuffer bb = ByteBuffer.wrap(array);
    bb.order(ByteOrder.LITTLE_ENDIAN);
    float amplitude = bb.asFloatBuffer().get();

    System.out.println(amplitude);

    read = din.read(array);
}

如何读取等效的mp3文件的相同日期。 我尝试包括MP3 SPI库

但是,我接收到的振幅只是伪随机数,其随机波动而没有正确振幅阵列的任何自然平滑度。

我可以做些什么来读取mp3文件的幅度吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)