RtcEngineContext
RtcEngineContext
定义。
C++
struct RtcEngineContext {
IRtcEngineEventHandler* eventHandler;
const char* appId;
void* context;
CHANNEL_PROFILE_TYPE channelProfile;
AUDIO_SCENARIO_TYPE audioScenario;
unsigned int areaCode;
commons::LogConfig logConfig;
bool domainLimit;
bool autoRegisterAgoraExtensions;
RtcEngineContext()
: eventHandler(NULL), appId(NULL), context(NULL),
channelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING),
audioScenario(AUDIO_SCENARIO_DEFAULT),
areaCode(AREA_CODE_GLOB),
logConfig(), domainLimit(false),
autoRegisterAgoraExtensions(true) {}
};
eventHandler
IRtcEngine 的事件句柄,详见 IRtcEngineEventHandler。
appId
声网为 App 开发者签发的 App ID。 使用同一个 App ID 的 App 才能进入同一个频道进行通话或直播。一个 App ID 只能用于创建一个 IRtcEngine。如需更换 App ID,必须先调用 Release 销毁当前 IRtcEngine 再重新创建。
context
- Windows 平台上,context 是视窗句柄。如设值,则表示支持设备热插拔。
- Android 平台上,context 是安卓活动上下文。
channelProfile
频道使用场景。详见 CHANNEL_PROFILE_TYPE。
audioScenario
音频场景。不同的音频场景下,设备的音量类型是不同的。 详见 AUDIO_SCENARIO_TYPE 。
areaCode
服务器的访问区域。该功能为高级设置,适用于有访问安全限制的场景。支持的区域详见 AREA_CODE。区域码支持位操作。
指定访问区域后,集成了 SDK 的 App 会连接指定区域内的声网服务器。
logConfig
设置 SDK 输出的日志文件。详见 LogConfig。
默认情况下,SDK 会生成 5 个 SDK 日志文件和 5 个 API 调用日志文件,规则如下:
- SDK 日志文件的名称分别为:
agorasdk.log
、agorasdk.1.log
、agorasdk.2.log
、agorasdk.3.log
、agorasdk.4.log
。 - API 调用日志文件的名称分别为:
agoraapi.log
、agoraapi.1.log
、agoraapi.2.log
、agoraapi.3.log
、agoraapi.4.log
。 - 每个 SDK 日志文件的默认大小为 2,048 KB;API 调用日志文件的默认大小为 2,048 KB。日志文件均为 UTF-8 编码。
- 最新的日志永远写在
agorasdk.log
和agoraapi.log
中。 - 当
agorasdk.log
写满后,SDK 会按照以下顺序对日志文件进行操作:- 删除
agorasdk.4.log
文件(如有)。 - 将
agorasdk.3.log
重命名为agorasdk.4.log
。 - 将
agorasdk.2.log
重命名为agorasdk.3.log
。 - 将
agorasdk.1.log
重命名为agorasdk.2.log
。 - 新建
agorasdk.log
文件。
- 删除
agoraapi.log
文件的覆盖规则与agorasdk.log
相同。
domainLimit
是否开启域名限制:
true
:开启域名限制。该设置适用于 IoT 设备使用物联网卡进行网络访问的场景。SDK 会仅连接到已向运营商报备的域名或 IP 白名单中的服务器。false
:(默认)关闭域名限制。该设置适用于大部分普通场景。
autoRegisterAgoraExtensions
是否在初始化 IRtcEngine 时自动注册声网插件:
true
:(默认)初始化 IRtcEngine 时自动注册声网插件。false
:初始化 IRtcEngine 时不注册声网插件。你需要调用 enableExtension 来注册声网插件。