gpt4 book ai didi

java - 从 floatbuffer 转换为 byte[]

转载 作者:行者123 更新时间:2023-11-30 05:56:22 26 4
gpt4 key购买 nike

我正试图找到一种在 java 中使用 jack-audio 的方法。我已经设法基于 jnajack 创建包装器以从 jacks 端口获取音频到 java 应用程序(原始 jnajack 不适用于 jack 1.9.8),但我找不到操作数据的方法。我得到了一个List<FloatBuffer> ,为了进一步的数据操作,我需要将其转换为 byte[] .

简单来说...首先我想将数据保存到文件中,但据我了解java sound api只能保存来自TargetDataLine的数据。和/或 byte[] .如何转换 FloatBufferbyte[] ?我能找到的唯一方法是 floatbuffer.get(float[])并以某种方式(不知道如何)转换 float[]byte[] .

最佳答案

How can I convert FloatBuffer to byte[]?

FloatBuffer floatbuffer;

ByteBuffer byteBuffer = ByteBuffer.allocate(floatbuffer.capacity() * 4);
byteBuffer.asFloatBuffer().put(floatbuffer);
byte[] bytearray = byteBuffer.array();

您可能必须更改 byte order .

关于java - 从 floatbuffer 转换为 byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7298997/

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