Java 字节数组的音频比特率检测

Java 字节数组的音频比特率检测,java,arrays,audio,bitrate,Java,Arrays,Audio,Bitrate,我使用mp3spi读取音频文件,然后将它们转换为字节数组 ByteArrayOutputStream baout=newbytearrayoutputstream(); AudioInputStream声音=AudioSystem.getAudioInputStream(文件); 字节[]缓冲区=新字节[4096]; INTC; while((c=sound.read(buffer,0,buffer.length))!=-1){ 写入(缓冲区,0,c); break;//我只读取了前4096个字

我使用mp3spi读取音频文件,然后将它们转换为字节数组

ByteArrayOutputStream baout=newbytearrayoutputstream();
AudioInputStream声音=AudioSystem.getAudioInputStream(文件);
字节[]缓冲区=新字节[4096];
INTC;
while((c=sound.read(buffer,0,buffer.length))!=-1){
写入(缓冲区,0,c);
break;//我只读取了前4096个字节,以加快其他内容的速度
}
sound.close();
baout.close();
字节[]数据=baout.toByteArray();
如果我用以下数据读取音频

frame rate: 38.28125
frame length: -1
frame size: -1
sample rate: 44100.0
channels: 2
bitrate: 320000
我收到一个超过3900个零值的数组

int countZero=0;
for(字节b:数据){
如果(b==0){
countZero++;
}
}
System.out.println(“零值计数”+countZero);//3900 - 4000
这个零值的意义是什么? 有些垃圾桶的垃圾量是85,而不是0

不同比特率之间的差值是否相等?
有没有一种方法可以通过知道比特率来计算有多少个值彼此跟随?

这可能只是沉默。音乐文件通常以一段时间的静默开始和/或结束。在许多文件中有2%的零值。也许这真的是沉默。谢谢