TargetDataLine是声音的输入(麦克风),而SourceDataLine是输出(音响,耳机).
整个过程,请参见下面的程序.(运行后,实时地从麦克风录音,实时输出).
import java.io.*;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.TargetDataLine;
public class RecordAndPlay {
static volatile boolean stop=false;
public static void main(String[] args) {
Play();
}
//播放音频文件
public static void Play() {
try {
AudioFormat audioFormat =
// new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100F,
// 8, 1, 1, 44100F, false);
new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,44100F, 16, 2, 4,</