所以我的目标是将声音文件的傅立叶变换中的 y值存储到字节数组中。
注意:我正在尝试避免导入javax
我通过简单地将声音文件的字节存储到字节数组中来实现这一点。但我不确定这是否是接近它的正确方法。
这是我的代码:
public static void main ( String[] args ) {
try{
File f = new File("C:/Users/Maxwell/Desktop/TestSoundFile.m4a");
byte[] bytesFromFile = getBytes(f);
System.out.println(Arrays.toString(bytesFromFile));
}
catch(Exception e) {
System.out.println("Nope. Just nope.");
}
}
public static byte[] getBytes(File f) throws FileNotFoundException, IOException {
byte[] buffer = new byte[1024];
ByteArrayOutputStream os = new ByteArrayOutputStream();
FileInputStream fis = new FileInputStream(f);
int read;
while((read = fis.read(buffer)) != -1) {
os.write(buffer, 0, read);
}
fis.close();
os.close();
return os.toByteArray();
}
这里的主要功能是getBytes()
功能。
我所做的只是将声音文件中的字节存储到数组中。
在main()
函数中,print语句打印大量的整数。它看起来对我来说,但我不完全确定它是否真的有用,或者这些值与声音无关。
在Java上处理声音时,我有点新手。
我实现了目标吗?