因此,我正在尝试开发一个android VoIP应用程序。我无法使回声消除工作,并且在扬声器模式下仍然可以听到自己说话。
AudioRecord recorder = new AudioRecord(
MediaRecorder.AudioSource.VOICE_COMMUNICATION, mSampleRate,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT, bufferSize);
echoCanceler = AcousticEchoCanceler.create(recorder.getAudioSessionId());
echoCanceler.setEnabled(true);我已经尝试将设置更改为CHANNEL_IN_STEREO。将播放设置更改为MODE_IN_COMMUNICATON,但仍然没有效果。
我正在使用三星的S7和Nexus5进行测试。
发布于 2018-08-19 17:09:49
在Android上消除回声并不是一项简单的任务,特别是如果你想支持多部手机和多个android版本的话。从阅读一些关于echo cancellation的行为和挑战开始。然后,您可以尝试开源解决方案(例如Speex)。如果开源不起作用,那么你应该寻找一个专业的回声消除。只需在谷歌上搜索回声消除软件。
https://stackoverflow.com/questions/50246340
复制相似问题