2011-01-28 76 views
11

Tôi muốn ghi âm giọng nói bằng ứng dụng Java; Tôi đoán điều này về cơ bản sẽ là một applet sẽ chạy ở phía máy khách. Nhưng tôi không có ý tưởng làm thế nào để làm điều đó ... bất kỳ ý tưởng? Ngoài ra, tôi muốn phát giọng nói được ghi lại.Ghi âm giọng nói bằng Java

Tôi đã nghe nói về Java Speech API. Bất kỳ ý tưởng nếu nó có thể giúp đỡ?

+0

hãy xem: http://ditra.cs.umu.se/jmf2_0-guide-html/JMFCapturing.html – pingw33n

+0

@ pingw33n - quá phức tạp để hiểu: ( – Varun

Trả lời

7

Tôi muộn để đảng, nhưng đây là những tài liệu chính thức về thu âm thanh: http://docs.oracle.com/javase/tutorial/sound/capturing.html

(Và sao chép trực tiếp từ các liên kết ở trên đây là một số mẫu mã để làm điều đó :)

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

trong ví dụ của bạn, tôi gặp lỗi trong dòng bị dừng, bạn có thể giúp tôi – Abderrahim

+0

Tôi đã viết cách đây 4 năm ... và tôi đã sao chép từ url đó, nhưng tôi cho rằng bạn đang gặp phải lỗi biên dịch? opped' biến về cơ bản là một giữ chỗ cho một biến, bạn nên thiết lập/tạo/duy trì ở nơi khác để biết liệu bạn có nghĩa vụ phải ngừng ghi âm hay không. Vì vậy, nó rất đặc biệt cho trường hợp của bạn. – xbakesx

Các vấn đề liên quan