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

UE5内置WebRTC API创建语音聊天通道崩溃问题求助

解决UE5内置WebRTC创建PeerConnectionFactory崩溃问题

核心问题分析

崩溃栈指向cricket::WebRtcVoiceEngine::Init()触发断言,说明两个关键环节存在问题:

  1. 音频设备模块未正确配置(当前传了nullptr)
  2. WebRTC专用线程未按规范初始化

修复步骤

1. 正确初始化WebRTC专用线程

UE原生线程不能直接传给WebRTC,必须使用rtc::Thread创建并启动专用线程:

// 在模块初始化或Actor BeginPlay阶段创建线程
NetworkThread = rtc::Thread::CreateWithSocketServer();
WorkerThread = rtc::Thread::Create();
SignallingThread = rtc::Thread::Create();

// 必须在创建PeerConnectionFactory前启动线程
NetworkThread->Start();
WorkerThread->Start();
SignallingThread->Start();

注意:线程需在模块销毁时停止并释放,生命周期要与PeerConnectionFactory绑定。

2. 配置音频设备模块

不能传nullptr作为音频设备模块,即使后台运行也需要适配UE音频上下文。可使用WebRTC默认音频设备模块,或禁用音频输入输出:

// 创建默认音频设备模块
auto audio_device_module = webrtc::CreateAudioDeviceModule(
    webrtc::AudioDeviceModule::kPlatformDefaultAudio,
    WorkerThread->GetTaskQueue() // 绑定到Worker线程的任务队列
);
audio_device_module->Init();

// 后台场景禁用音频输入输出
audio_device_module->SetAudioInputDevice(webrtc::AudioDeviceModule::kNoDevice);
audio_device_module->SetAudioOutputDevice(webrtc::AudioDeviceModule::kNoDevice);

3. 完善Build.cs配置

除现有配置外,补充WebRTC平台依赖与UE音频模块:

PublicDefinitions.Add("WEBRTC_WIN"); // Windows平台专用,其他平台对应修改为WEBRTC_MAC/WEBRTC_LINUX
PrivateDependencyModuleNames.AddRange(new string[] { "AudioMixer", "CoreAudio" });

4. 修正PeerConnectionFactory创建代码

将修正后的线程与音频模块传入:

PeerConnectionFactory = webrtc::CreatePeerConnectionFactory(
    NetworkThread.get(),
    WorkerThread.get(),
    SignallingThread.get(),
    audio_device_module,
    webrtc::CreateAudioEncoderFactory<webrtc::AudioEncoderOpus>(),
    webrtc::CreateAudioDecoderFactory<webrtc::AudioDecoderOpus>(),
    nullptr, // 语音聊天无需视频编码器,传nullptr
    nullptr, // 语音聊天无需视频解码器,传nullptr
    nullptr,
    nullptr
);

5. 额外注意事项

  • 确保UE项目音频设置中,音频引擎已启用(WebRTC依赖UE音频上下文)
  • 若仍崩溃,检查OpenSSL版本与UE内置WebRTC的兼容性,确认AddEngineThirdPartyPrivateStaticDependencies正确引入OpenSSL
  • 线程停止需在PeerConnectionFactory销毁后执行,避免生命周期冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 20:56:17