Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 录制和播放声音时的回声_Java_Audio - Fatal编程技术网

Java 录制和播放声音时的回声

Java 录制和播放声音时的回声,java,audio,Java,Audio,我有一个简单的应用程序,从麦克风开始录音,然后立即将声音播放回我的耳机,但是这里的问题是:声音质量不好,在麦克风中说话后会有持续的回声,在说话后会持续5秒。我不确定问题是否出在Java声音API中,我需要切换到另一个库 我还想提一下,我使用的耳机是插入我的电脑。当我使用低音量时,声音会正常播放,但当我将音量调到最大值的90%时,音质会变差 这是我的密码: AudioFormat format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 4

我有一个简单的应用程序,从麦克风开始录音,然后立即将声音播放回我的耳机,但是这里的问题是:声音质量不好,在麦克风中说话后会有持续的回声,在说话后会持续5秒。我不确定问题是否出在Java声音API中,我需要切换到另一个库

我还想提一下,我使用的耳机是插入我的电脑。当我使用低音量时,声音会正常播放,但当我将音量调到最大值的90%时,音质会变差

这是我的密码:

AudioFormat format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100, 16, 2, 4, 44100, false);
    
    DataLine.Info dataLineInfo = new DataLine.Info(TargetDataLine.class, format);
    TargetDataLine mic = (TargetDataLine) AudioSystem.getLine(dataLineInfo);
    mic.open();
    mic.start();
    
    DataLine.Info dataLineInfo2 = new DataLine.Info(SourceDataLine.class, format);
    SourceDataLine speakers = (SourceDataLine) AudioSystem.getLine(dataLineInfo2);
    speakers.open();
    speakers.start();
    
    byte[] buffer = new byte[1024];
    
    
    while(true) {
        mic.read(buffer, 0, buffer.length);
        
        speakers.write(buffer, 0, buffer.length);
        
    }

我自己也试过这个代码,但对我来说似乎没有任何问题,没有回声,也没有质量差的音频。如果你有另一台机器或另一个麦克风,试着在那里使用它。我试过其他麦克风和扬声器,但问题仍然是一样的,对于音频输出,我使用耳机。这可能是延迟的原因吗?因此,我的耳机连接到我的计算机,在音量较低的情况下,声音没有错误,也没有回声。但是,当我将音量调到最大音量的90%时,我清楚地听到回声和糟糕的音质。这里有一个想法:拔下耳机,通过扬声器播放样本。在这一点上,这样做或多或少是一种形式,因为你似乎已经完成了淘汰的过程。高音扬声器可能不是一种惯例,但对于任何决定使用大音量耳机的人来说,这仍然是一个问题。我不确定到底是什么导致了这个问题。我不知道你说的淘汰是什么意思。