2011-01-28 27 views
11

Javaアプリケーションを使用して音声を録音したい。私はこれが基本的にクライアント側で実行されるアプレットになると思います。しかし、私はそれを行う方法のアイデアはありません...任意のアイデア?また、録音した音声を再生したい。Javaで音声を録音する

私はJava Speech APIについて聞いたことがあります。それが助けることができるかどうか?

+0

@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

関連する問題