[英]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.