FRtcEngineContext
- Unreal Blueprint
更新时间不可用
FRtcEngineContext 定义。
USTRUCT(BlueprintType)
struct FRtcEngineContext
{
GENERATED_BODY()
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
EAgoraBPuEventHandlerType EventHandlerCreationType = EAgoraBPuEventHandlerType::EventHandler;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
FString appId = "";
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
ECHANNEL_PROFILE_TYPE channelProfile = ECHANNEL_PROFILE_TYPE::CHANNEL_PROFILE_LIVE_BROADCASTING;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
FString license = "";
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
EAUDIO_SCENARIO_TYPE audioScenario = EAUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_DEFAULT;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
FENUMWRAP_AREA_CODE areaCode = EENUMCUSTOM_AREA_CODE::AREA_CODE_GLOB;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
FLogConfig logConfig;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
bool threadPriority_SetValue = false;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
ETHREAD_PRIORITY_TYPE threadPriority = ETHREAD_PRIORITY_TYPE::NORMAL;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
bool useExternalEglContext = false;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
bool domainLimit = false;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext")
bool autoRegisterAgoraExtensions = true;
FRtcEngineContext() {}
agora::rtc::RtcEngineContext CreateAgoraData() const {
agora::rtc::RtcEngineContext AgoraData;
SET_UABT_FSTRING_TO_CONST_CHAR___MEMALLOC(AgoraData.appId, this->appId)
AgoraData.channelProfile = (agora::CHANNEL_PROFILE_TYPE)channelProfile;
SET_UABT_FSTRING_TO_CONST_CHAR___MEMALLOC(AgoraData.license, this->license)
AgoraData.audioScenario = (agora::rtc::AUDIO_SCENARIO_TYPE)audioScenario;
AgoraData.areaCode = areaCode.GetRawValue();
AgoraData.logConfig = logConfig.CreateAgoraData();
SET_AGORA_OPTIONAL_VAL_ASSIGN_VAL(AgoraData.threadPriority, this->threadPriority, static_cast<agora::rtc::THREAD_PRIORITY_TYPE>(this->threadPriority))
AgoraData.useExternalEglContext = useExternalEglContext;
AgoraData.domainLimit = domainLimit;
AgoraData.autoRegisterAgoraExtensions = autoRegisterAgoraExtensions;
return AgoraData;
}
void FreeAgoraData(agora::rtc::RtcEngineContext& AgoraData) const {
SET_UABT_FSTRING_TO_CONST_CHAR___MEMFREE(AgoraData.appId)
SET_UABT_FSTRING_TO_CONST_CHAR___MEMFREE(AgoraData.license)
logConfig.FreeAgoraData(AgoraData.logConfig);
}
};属性
| 参数名 | 描述 |
|---|---|
eventHandler | IRtcEngine 的事件句柄,详见 IRtcEngineEventHandler。 |
appId | 声网为 App 开发者签发的 App ID。 使用同一个 App ID 的 App 才能进入同一个频道进行通话或直播。一个 App ID 只能用于创建一个 IRtcEngine。如需更换 App ID,必须先调用 Release 销毁当前 IRtcEngine 再重新创建。 |
channelProfile | 频道使用场景。详见 ECHANNEL_PROFILE_TYPE。 |
audioScenario | 音频场景。不同的音频场景下,设备的音量类型是不同的。 详见 EAUDIO_SCENARIO_TYPE。 |
areaCode | 服务器的访问区域。该功能为高级设置,适用于有访问安全限制的场景。支持的区域详见 FENUMWRAP_AREA_CODE。区域码支持位操作。 指定访问区域后,集成了 SDK 的 App 会连接指定区域内的声网服务器。 |
logConfig | 设置 SDK 输出的日志文件。详见 FLogConfig。 默认情况下,SDK 会生成 5 个 SDK 日志文件和 5 个 API 调用日志文件,规则如下:
|
domainLimit | |
autoRegisterAgoraExtensions | 是否在初始化 IRtcEngine 时自动注册声网插件:
|