初始化相关
- C++
更新时间不可用
createAgoraRtcEngine
创建一个 IRtcEngine 对象。
AGORA_API agora::rtc::IRtcEngine* AGORA_CALL createAgoraRtcEngine();声网 RTC SDK v4.x 每个 App 仅支持创建一个 IRtcEngine 对象。
返回值
- 方法调用成功,返回 IRtcEngine 对象,详见 IRtcEngine。
- 方法调用失败,返回 NULL。
所属接口类
initialize
初始化 IRtcEngine。
virtual int initialize(const RtcEngineContext& context) = 0;注:
- IRtcEngine 提供的所有方法均为异步执行。建议你在同一线程中调用这些方法。
- SDK 仅支持为一个 App 创建一个 IRtcEngine 实例。
调用时机
在调用其他 API 之前,必须先调用 createAgoraRtcEngine 和 initialize 来创建并初始化 IRtcEngine 对象。
参数
| 参数名 | 描述 |
|---|---|
context | IRtcEngine 实例的配置,详见 RtcEngineContext。 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -1:发生通用错误(无明确原因)。
- -2:参数无效。
- -7:SDK 未初始化。
- -22:资源请求失败。由于你的 App 占用过多系统资源或系统资源不足,SDK 无法分配资源。
- -101:App ID 无效。
所属接口类
release
释放 IRtcEngine 实例。
AGORA_CPP_API static void release(RtcEngineReleaseCallback callback = nullptr);该方法释放声网 SDK 占用的所有资源,适用于用户偶尔进行语音或视频通话的场景。当用户不再通话时,可以释放资源以供其他操作使用。调用该方法成功后,将无法再使用 SDK 中的任何方法或回调。如需再次使用实时通信功能,必须调用 createAgoraRtcEngine 和 initialize 创建新的 IRtcEngine 实例。
注: 不建议在 SDK 的任何回调中调用 release,否则 SDK 需等待回调返回后才能释放资源,可能导致死锁。
参数
| 参数名 | 描述 |
|---|---|
callback | 用于设置引擎销毁模式的回调函数指针,详见 RtcEngineReleaseCallback。
|
所属接口类
RtcEngineReleaseCallback
IRtcEngine 被释放时触发的回调。
using RtcEngineReleaseCallback = void(*)();自从
自 v4.6.0 版本新增。
调用时机
当调用 release 方法以异步释放 IRtcEngine 对象时,会触发该回调。