数组从数组中获取int值。Java中的wav文件
我似乎走到了死胡同。我尝试显示每个采样32位的第一个int值,2个通道。具有以下代码的wav文件:
public static void main(String[] args) {
File inFile = new File("C:/.../1.wav");
FileInputStream fstream = null;
try {
fstream = new FileInputStream(inFile);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
BufferedInputStream in = new BufferedInputStream(fstream);
byte[] bytes = null;
try {
bytes = IOUtils.toByteArray(in);
} catch (IOException e) {
e.printStackTrace();
}
ByteBuffer wrapped = ByteBuffer.wrap(bytes);
int num = wrapped.getInt();
System.out.println(num);
}
但我不确定显示的数字是什么意思。我得到“1380533830”,首先,如果我理解正确,int值不是从0到2^32-1,而是从-2^31到2^31-1
如果是这种情况,它应该是来自第一个通道的第一个int,但是当我在matlab中执行audioread时,我得到了一个完全不同的值:“-1376256”。我试图看看“1380533830”是否是我的audioread中的某个值,但事实并非如此,所以我不知道我做了什么
共 (0) 个答案