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
相关产品推荐
相关产品推荐

