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

Android中用最新WebRTC依赖初始化PeerConnectionFactory报错求助

WebRTC PeerConnectionFactory 初始化编译错误修复

你的问题出在使用了新版WebRTC库(org.webrtc:google-webrtc:1.0.+),但仍沿用了旧版本的初始化写法——旧的initializeAndroidGlobals方法和无参的PeerConnectionFactory构造已经被彻底移除,所以编译报错。

下面是适配新版WebRTC的正确初始化代码:

private void initializePeerConnectionFactory() {
    // 初始化全局配置
    PeerConnectionFactory.InitializationOptions initOptions =
            PeerConnectionFactory.InitializationOptions.builder(this)
                    .setEnableInternalTracer(true)
                    .createInitializationOptions();
    PeerConnectionFactory.initialize(initOptions);

    // 构建并创建 PeerConnectionFactory 实例
    PeerConnectionFactory.Options factoryOptions = new PeerConnectionFactory.Options();
    factory = PeerConnectionFactory.builder()
            .setOptions(factoryOptions)
            .setVideoHwAccelerationOptions(rootEglBase.getEglBaseContext(), rootEglBase.getEglBaseContext())
            .createPeerConnectionFactory();
}

额外需要注意的点:

  • 必须先调用PeerConnectionFactory.initialize()完成全局初始化,再创建工厂实例
  • 视频硬件加速配置需要在builder阶段设置,而不是实例创建后再调用setVideoHwAccelerationOptions(新版中该方法已被调整)
  • 确保rootEglBase已经通过EglBase.create()等方式正确初始化,否则会出现上下文为空的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:45:24