繁体   English   中英

Java实时捕获声音

[英]Java capture sound real-time

我使用TargetDataLine实时捕获歌曲:

line.read(buffer, 0, buffer.length);

但是此缓冲区必须是字节数组。 我需要捕获以缓冲长数组或浮点数组。 我尝试从字节转换为long或float,但是这些数据不正确。

如何捕获另一种类型或隐蔽字节以正确的方式浮动/变长?

您可以尝试这种方法:

byte[] buffer = new byte[2048];
float[] fBuffer = new float[buffer.length >> 2];

ByteBuffer bb = ByteBuffer.wrap(buffer);
FloatBuffer fb = bb.asFloatBuffer();
fb.get(fBuffer, 0, fBuffer.length);

这会为您进行转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM