如何使用java代碼控制麥克風開關功能?我需要控制麥克風開啓的時間。 我試圖在Java中使用下面的代碼:硬件麥克風控制
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);
}
但是這基本上取決於緩衝區的大小。而而循環可以輸入30secs每音頻音頻。 我需要僅爲10secs採樣輸入。 任何幫助?謝謝。:)
爲了更快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。另外,請爲代碼塊使用一致的邏輯縮進。 – 2012-03-17 13:16:05