我正在尝试取消回声,但即使使用一个非常简单的示例也无法取消。帧大小 160 平铺长度 100
audioRecord.read(mic,0,mic.length);
audioData = speex.encode(mic,0,mic.length);
speakerData=speex.decode(audioData);
audioTrack.write(speakerData, 0, speakerData.length);
speex.DoAEC(mic,speakerData,outref);
fos.write(outref);
为什么上面的代码示例没有取消回声我错过了什么吗?当我播放文件时,没有删除任何回声。
也遵循简单的例子没有工作仍然有回声。
short[] buf=new short[160];
audioRecord.read(buf,0,buf.length);
if(sData==null){
sData=buf;
}
short[] outref=new short[160];
speex.cancelecho(buf,sData,outref);
audioTrack.write(outref, 0, outref.length);
sData=buf;