Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中实时处理麦克风数据_Java_Real Time_Signal Processing_Microphone - Fatal编程技术网

在java中实时处理麦克风数据

在java中实时处理麦克风数据,java,real-time,signal-processing,microphone,Java,Real Time,Signal Processing,Microphone,我使用以下说明获取麦克风的信号音频: while(!stopCapture){ int cnt = targetDataLine.read(tempBuffer, 0, tempBuffer.length); if(cnt > 0){ byteArrayOutputStream.write(tempBuffer, 0, cnt); } }

我使用以下说明获取麦克风的信号音频:

while(!stopCapture){

            int cnt = targetDataLine.read(tempBuffer, 0, tempBuffer.length);
            if(cnt > 0){
              byteArrayOutputStream.write(tempBuffer, 0, cnt);            
            }
          }
          byteArrayOutputStream.close();
          byte audio[] = byteArrayOutputStream.toByteArray();
          InputStream input = new ByteArrayInputStream(audio);
          AudioInputStream ais = new AudioInputStream(input, audioFormat, audio.length / audioFormat.getFrameSize());
但这些指令需要等待整个信号,然后才能对其进行详细说明。 我需要实时详细说明…可能吗

我怎么做


谢谢

用tearrayoutputstream.write(tempBuffer,0,cnt)在
前面的一行中进行“细化”(无论这意味着什么)。我需要得到信号的振幅。我能直接用tempbuffer得到它们吗?你说的“振幅”是什么意思?声波的瞬时大小可以从帧的字节中获得,但这和声音的音量不同。体积计算需要一组帧。获取振幅取决于样本缓冲区的长度和振幅测量所需的频率响应。