gpt4 book ai didi

java - (java) 声音可以像这样存储在字节数组中吗?

转载 作者:行者123 更新时间:2023-12-02 11:35:11 24 4
gpt4 key购买 nike

所以我的目标是将声音文件的傅里叶变换中的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 上使用声音时,我是个新手。

我实现目标了吗?

最佳答案

根据wikipedia 、.m4a 文件通常用 AAC 编码或ALAC格式,并且这种文件格式可以包含元数据。您拾取的字节无法直接转换为实际的音频数据,或者您甚至可能拾取与实际音频无关的元数据。

我不知道如何告诉您如何管理这种音频文件,但看来您应该研究一下文件类型。据我所知,我使用过的唯一可以按照您期望的方式存储音频的音频格式是 .wav 文件,因此如果您可以事先转换音频,则实际编程可能会更容易。

关于java - (java) 声音可以像这样存储在字节数组中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48996118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com