Я пытаюсь захватить звук, который исходит от микрофона, и я хотел проверить частоту звука. Если я получу более высокую частоту, скажем, 1316,8, тогда я начну запись в течение 1 минуты.
Я борюсь с преобразованием байтовых данных в частоту.
Я использовал Javax.sound
для захвата звука, который исходит от микрофона, и я также выполнил запись.
AudioFormat format = new AudioFormat(44100, 16, 2, true, true);
DataLine.Info targetInfo = new DataLine.Info(TargetDataLine.class, format);
DataLine.Info sourceInfo = new DataLine.Info(SourceDataLine.class, format);
try {
TargetDataLine targetLine = (TargetDataLine) AudioSystem.getLine(targetInfo);
targetLine.open(format);
targetLine.start();
SourceDataLine sourceLine = (SourceDataLine) AudioSystem.getLine(sourceInfo);
sourceLine.open(format);
sourceLine.start();
int numBytesRead;
byte[] targetData = new byte[targetLine.getBufferSize() / 5];
Я ожидаю, что выход будет похож на Частоту каждого звука, который исходит от микрофона.