常见问题

产品 / 插件
平台 / 框架

怎么处理音频回声问题?

产品 / 插件:实时音视频 / 实时语音 / 低延迟直播 / 畅直播

平台 / 框架:iOS / Android / macOS / Windows / Unity3d

更新时间:2021-09-24 15:55


ZEGO SDK 提供了能够适用于绝大多数场景和设备的回声消除功能。如果存在回声问题,您可以参考如下操作步骤进行处理。

1 问题排查

当某个用户听到回声时往往不是自己的问题,而是通话的对方回声消除功能失效。如果是多方通话,可以依次关闭对方的麦克风来确定是哪一方产生的回声。

  • 如果使用了设备本身提供的回声消除功能,但是效果不佳,可以与 ZEGO 技术支持联系,技术支持可在分析确认后,下发指令关闭设备自带的回声消除,使用 ZEGO SDK 提供的回声消除功能。
  • 在使用 ZEGO SDK 提供的回声消除功能时,由于 CPU 负载过高,或是采集播放线程被阻塞,可能会造成回声问题。您可以通过以下操作自查:

    1. CPU 是否负载过高或者瞬时过高。
    2. 是否使用了音频前处理或者音频后处理功能。如果是,则需要确认前处理或后处理是否存在阻塞现象。一般情况下,音频前处理或者后处理需要在最大不超过 10ms 内完成处理,并且返回处理结果。
  • 如果是在连麦的过程中,不仅拉取了对方的流,而且同时拉取了包含自己的流的混流,也有可能产生回声问题。

2 使用棱镜监控质量

您可以使用 ZEGO管理控制台 中的 棱镜,对音视频通话的质量进行跟踪,具体请参考 棱镜 - 问题案例分析

3 联系 ZEGO 技术支持

如果问题仍然存在,请联系 ZEGO 技术支持,并提供以下信息,方便快速定位问题。

信息 详情
必要信息
出现音频回声的房间 ID(roomID)。
听到回声和产生回声的用户 ID(userID)。
可选信息
出现音频回声的具体时间段。
SDK 日志文件,详情请参考 如何设置和获取 SDK 的日志、堆栈信息