자바 코드를 사용하여 마이크 켜기/끄기 기능을 제어하려면 어떻게해야합니까? 마이크가 켜져있는 시간을 조절해야합니다. 나는 자바에 다음 코드를 사용하여 시도 :하드웨어 마이크 컨트롤
final AudioFormat format = getFormat();//getformat() has the audio format
DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);
final TargetDataLine line = (TargetDataLine) AudioSystem.getLine(info);
line.open(format); //open mic for input
line.start();
byte[] buffer = new byte[1048576];
OutputStream out = new ByteArrayOutputStream();//output the audio to buffer
boolean running = true;
try {
while (running) {
int count = line.read(buffer, 0, buffer.length);
running=false;
if (count > 0) {
out.write(buffer, 0, count);
}
}
out.close();
} catch (IOException e) {
System.out.println("Error");
System.err.println("I/O problems: " + e);
System.exit(-1);
}
을하지만 이것은 기본적으로 버퍼의 크기에 따라 달라집니다. 그리고 은 루프는 패스 당 30 초 동안 오디오를 입력 할 수 있습니다. 샘플 입력을 10 초 만에해야합니다. 어떤 도움? ?? 고마워. :)
더 나은 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. 또한 코드 블록에 일관되고 논리적 인 들여 쓰기를 사용하십시오. –