2011-01-28 3 views
11

Java 응용 프로그램을 사용하여 음성을 녹음하고 싶습니다. 기본적으로 클라이언트 측에서 실행되는 애플릿 일 것입니다. 그러나 나는 그것을하는 방법에 대한 생각이 없다 ... 어떤 생각? 또한 녹음 된 음성을 재생하고 싶습니다.Java로 음성 녹음

Java Speech API에 대해 들어 봤습니다. 도움이 될만한 아이디어가 있습니까?

+0

몇 가지 예제 코드 다음을보십시오 : http://ditra.cs.umu.se/jmf2_0-guide-html/JMFCapturing.html – pingw33n

+0

@ pingw33n - 이해하기에는 너무 복잡합니다. (예 : – Varun

답변

7

내가 파티에 늦게,하지만 여기 캡처 오디오에 대한 공식 문서는이 : http://docs.oracle.com/javase/tutorial/sound/capturing.html

(그리고 여기에 위의 링크에서 직접 복사 그것을 할 :)

TargetDataLine line; 
DataLine.Info info = new DataLine.Info(TargetDataLine.class, 
       format); // format is an AudioFormat object 
if (!AudioSystem.isLineSupported(info)) { 
    // Handle the error ... 

} 
// Obtain and open the line. 
try { 
    line = (TargetDataLine) AudioSystem.getLine(info); 
    line.open(format); 
} catch (LineUnavailableException ex) { 
    // Handle the error ... 
} 

// Assume that the TargetDataLine, line, has already 
// been obtained and opened. 
ByteArrayOutputStream out = new ByteArrayOutputStream(); 
int numBytesRead; 
byte[] data = new byte[line.getBufferSize()/5]; 

// Begin audio capture. 
line.start(); 

// Here, stopped is a global boolean set by another thread. 
while (!stopped) { 
    // Read the next chunk of data from the TargetDataLine. 
    numBytesRead = line.read(data, 0, data.length); 
    // Save this chunk of data. 
    out.write(data, 0, numBytesRead); 
} 
+0

정지 된 줄에 오류가 있습니다. 도와주세요 – Abderrahim

+0

나는 4 년 이상 전에 이것을 썼다. 나는 그 URL에서 그것을 복사했지만 컴파일 오류가 있다고 가정한다. opped' 변수는 본질적으로 당신이 녹음을 멈추었는지 아닌지를 알기 위해 다른 곳에서 설정/생성/유지해야하는 변수의 자리 표시 자입니다. 따라서 귀하의 경우에 특히 중요합니다. – xbakesx

관련 문제