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

如何设置ZEGOCLOUD SDK使通话对端无法听到本端播放的音乐

问题修复方案

该问题是OPPO部分ColorOS版本的定制音频策略导致的:系统在通话类音频场景下,默认会将本地媒体播放的音频混入麦克风上行流,即便用户佩戴耳机也不会阻断这个混音逻辑,你可以按以下步骤配置实现对端听不到本地音乐的效果:

  • 基础配置拦截:在SDK初始化完成、加入房间前,调用SDK接口关闭系统播放音混流上行的开关
    // 关闭系统播放音混入推流的默认逻辑
    engine.enableMixSystemPlayToStream(false);
    
    该配置为全局配置,配置一次后对所有通话场景生效,不会影响用户本地收听音乐、游戏音的效果。
  • OPPO机型专属适配:如果上述配置在问题机型上未生效,针对OPPO品牌设备单独调整音频采集参数
    if (Build.BRAND.toLowerCase().contains("oppo")) {
        // 强制指定采集源为纯麦克风,不附带系统内部音频
        engine.setAudioSource(ZegoAudioSourceType.Microphone);
        // 配置安卓音频策略,关闭厂商定制的系统音频回路混入
        ZegoAndroidAudioConfig audioConfig = new ZegoAndroidAudioConfig();
        audioConfig.disableSystemAudioLoopback = true;
        engine.setAndroidAudioConfig(audioConfig);
    }
    
  • 场景兜底校验:在监听用户耳机插入/拔出的回调中,主动确认回路录制开关处于关闭状态,避免其他业务逻辑误开启
    // 耳机状态变化回调中执行
    engine.enableLoopbackRecording(false);
    

避坑提示:如果你的业务有播放音效、背景音乐的需求,若仅需要本地用户听到,不要调用SDK的startAudioMixing接口推流到对端,直接调用系统原生播放器播放即可,上述配置不会拦截本地播放的音频输出到耳机/扬声器。

配置完成后可使用问题复现的OPPO设备做验证:佩戴耳机播放本地音乐,在对端设备录制通话音频,确认无本地音乐声即配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:12:20