gpt4 book ai didi

java - 如何在 Java 中将 byte[] 转换为 float[] 并返回?

转载 作者:行者123 更新时间:2023-11-30 11:27:09 25 4
gpt4 key购买 nike

我正在通过 InputStream 从 .wav 文件读取数据,read() 返回字节。我使用的一个声音处理库,只接受 float[] 来处理。完成后它给了我一个 float[] 回来。现在我需要再次以字节格式写入 Android 的 AudioTrack。

如何将这些 bytes 转换为 floats[],然后再转换回 byte[]?我搜索了一下,但一切似乎都与我的情况有所不同,而且所有问题似乎都以不同的方式解决了……所以我现在有点迷路了。

如果某种库中已经提供了类似这种转换的功能,我也很高兴听到这个消息!

谢谢!

最佳答案

您可以使用 java.nio.ByteBuffer .它有很多有用的方法可以从字节数组中提取不同的类型,并且还可以处理您的大部分问题。

        byte[] data = new byte[36];
ByteBuffer buffer = ByteBuffer.wrap(data);
float second = buffer.getFloat(); //This helps to
float x = 0;
buffer.putFloat(x);

关于java - 如何在 Java 中将 byte[] 转换为 float[] 并返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19466217/

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