我正在尝试找到一种在java中使用jack-audio的方法。我已经成功创建基于 jnajack 的包装器,以将音频从 jacks 的端口获取到 java 应用程序(原始 jnajack 不适用于 jack 1.9.8),但我找不到操作数据的方法。我得到一个List<FloatBuffer>
,为了进一步的数据操作,我需要将其转换为byte[]
.
简单地说...首先我想将数据保存到文件中,但是据我了解,java sound api只能保存来自TargetDataLine
and/or byte[]
。我怎样才能转换FloatBuffer
to byte[]
?我能找到的唯一方法是floatbuffer.get(float[])
并以某种方式(不知道如何)转换float[]
to byte[]
.
我怎样才能转换FloatBuffer
to byte[]
?
FloatBuffer floatbuffer;
ByteBuffer byteBuffer = ByteBuffer.allocate(floatbuffer.capacity() * 4);
byteBuffer.asFloatBuffer().put(floatbuffer);
byte[] bytearray = byteBuffer.array();
您可能需要更改字节顺序.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)