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

WebRTC Android使用Unified Plan时addStream报错,求解决方案

解决WebRTC Unified Plan下addStream报错问题

错误原因

你使用的WebRTC 113版本默认启用Unified Plan SDP语义,而addStream是旧版Plan B的专属API,Unified Plan明确禁用了该方法,必须使用addTrack替代。

修正代码

将原有的addLocalStream方法替换为逐个添加媒体轨道的实现:

public void addLocalStream(MediaStream stream) {
    if (pc == null) return;
    Log.d("dds_test", "addLocalTracks from stream");

    // 添加所有音频轨道
    for (AudioTrack audioTrack : stream.getAudioTracks()) {
        pc.addTrack(audioTrack, stream);
    }

    // 添加所有视频轨道
    for (VideoTrack videoTrack : stream.getVideoTracks()) {
        pc.addTrack(videoTrack, stream);
    }
}

关键说明

  • Unified Plan要求每个媒体轨道(音频/视频)单独通过addTrack注册,不再支持批量添加整个MediaStream。
  • addTrack方法的第二个参数仍可传入原MediaStream,用于关联轨道和流的元数据,不影响功能逻辑。
  • 不建议切换回Plan B(通过修改PeerConnectionFactory.Options中的sdpSemantics为SdpSemantics.PLAN_B),因为Plan B已被官方废弃,后续版本会彻底移除支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 04:35:00