You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中Vivox语音通话异常:双方同时说话时无法互听

Unity Vivox 双向同时说话无声问题解决方案

以下是针对你遇到的“双方同时说话时听不到彼此,停止说话后恢复正常”问题的几种排查和解决方法:

  • 调整语音活动检测(VAD)阈值
    Vivox默认的VAD可能因麦克风音量过高或阈值设置过严,导致自身说话时持续触发VAD,进而抑制了对方的音频输出。可以尝试降低VAD触发阈值,或者临时禁用VAD测试:

    // 调整VAD阈值(范围0-1,值越低越容易触发)
    if (AudioInputDevice.Instance != null)
    {
        AudioInputDevice.Instance.AudioInputLevelThreshold = 0.05f;
        // 可选:禁用VAD测试
        // AudioInputDevice.Instance.AutomaticVoiceActivityDetection = false;
    }
    
  • 优化回声消除(AEC)设置
    过度敏感的回声消除是这类问题的常见原因——当双方同时说话时,系统误将对方声音判定为回声并抑制。可以在Vivox配置中调整AEC模式:

    1. 打开Unity项目中的VivoxSettings资源文件
    2. 找到Acoustic Echo Cancellation选项,设置为LowSensitivity或直接Disabled(如果你的设备自带硬件AEC)
  • 确认频道传输模式
    确保加入的频道设置为全向传输,避免单向广播限制:

    // 创建频道会话时指定全向传输模式
    var channelId = new ChannelId(ChannelType.NonPositional, "team-chat", "your-vivox-domain");
    var channelSession = VivoxService.Instance.Client.GetChannelSession(channelId);
    channelSession.BeginConnect(
        joinAudio: true,
        joinText: false,
        transmissionMode: TransmissionMode.TransmitToAll,
        callback: null,
        state: null
    );
    
  • 关闭音频设备独占模式
    系统音频设备的独占权限可能导致Vivox无法同时处理输入输出,引发双向语音阻塞:

    • Windows:进入「声音设置」→ 选中麦克风/扬声器 → 「高级」→ 取消勾选「允许应用独占控制该设备」
    • macOS:进入「系统设置」→「声音」→ 选中设备 → 取消「独占模式」相关选项
  • 升级SDK和Unity版本
    旧版本Vivox SDK存在双向语音处理的已知bug,建议升级到官方最新的Vivox Unity SDK,并确保Unity版本与SDK兼容(优先使用LTS版本)

内容的提问来源于stack exchange,提问作者gamingpolskiyt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:18:18