用 Java 录制语音 [英] Record voice with Java
本文介绍了用 Java 录制语音的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想使用 Java 应用程序录制语音;我想这基本上是一个将在客户端运行的小程序.但我不知道该怎么做……有什么想法吗?另外,我想播放录制的声音.
I want to record voice using a Java application; I guess this will be basically an applet that will run on client side. But I don't have any idea of how to do it... any ideas? Also, I want to play the recorded voice.
我听说过 Java Speech API.知道它是否有帮助吗?
I have heard of Java Speech API. Any idea if it can help?
推荐答案
我迟到了,但这里有关于捕获音频的官方文档:http://docs.oracle.com/javase/tutorial/sound/capturing.html
I am late to the party, but here are the official docs on capturing audio: http://docs.oracle.com/javase/tutorial/sound/capturing.html
(直接从上面的链接复制,这里有一些示例代码:)
(And copied directly from the link above here is some sample code to do it:)
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);
}
这篇关于用 Java 录制语音的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文