#include <nertc_engine.h>
RtcEngine 类提供了供 App 调用的主要接口方法。
IRtcEngine 是 NERTC SDK 的基础接口类。创建一个 IRtcEngine 对象并调用这个对象的方法可以激活 NERTC SDK 的通信功能。
virtual int nertc::IRtcEngine::enableLocalAudio |
( |
bool |
enabled | ) |
|
|
pure virtual |
开启或关闭本地语音采集或处理
该方法可以重新开启本地语音功能,重新开始本地音频采集及处理。
该方法不影响接收或播放远端音频流。
- Note
-
-
该方法设置内部引擎为启用状态,在 leaveChannel 后仍然有效。
- Parameters
-
[in] | enabled |
- true: 重新开启本地语音功能,即开启本地语音采集或处理(默认)
- false: 关闭本地语音功能,即停止本地语音采集或处理
|
- Returns
-
virtual int nertc::IRtcEngine::enableLocalVideo |
( |
bool |
enabled | ) |
|
|
pure virtual |
开启或关闭本地视频采集和渲染
该方法启用本地视频采集功能。
- Note
- 该方法设置内部引擎为启用状态,在 leaveChannel 后仍然有效。
- Parameters
-
[in] | enabled | 是否启用本地视频:
- true: 开启本地视频采集和渲染 (默认);
- false: 关闭使用本地摄像头设备。关闭后,远端用户会接收不到本地用户的视频流;但本地用户依然可以接收远端用户的视频流。设置为 false 时,该方法不需要本地有摄像头。
|
- Returns
-
初始化 NERTC SDK 服务。
该方法用来进行初始化 NERTC 服务。传入云信为开发者签发的厂商秘钥进行初始化。 在调用 createNERtcEngine() 方法创建 IRtcEngine 对象后,必须先调用该方法进行初始化,才能使用其他方法。初始化成功后,默认处于音视频通话模式。
- Warning
- 必须使用同一个 App Key 才能进行通话。
- 一个 IRtcEngine 实例对象只能使用一个 App Key。如需更换 App Key,必须先调用 release 方法销毁当前实例,再调用本方法重新创建实例。
- Parameters
-
- Returns
-
virtual int nertc::IRtcEngine::joinChannel |
( |
const char * |
token, |
|
|
const char * |
channel_name, |
|
|
uid_t |
uid |
|
) |
| |
|
pure virtual |
加入频道。如果频道还未创建,会自动尝试创建频道。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。 使用不同 App Key 的 App 是不能互通的。如果已在通话中,用户必须调用 leaveChannel 退出当前通话,才能进入下一个频道。
- Note
- 频道内每个用户的用户 ID 必须是唯一的。
- Parameters
-
[in] | token | 动态秘钥。安全要求不高: 将值设为 空字符串。安全要求高: 将值设置为 Token。如果你已经启用了 App Certificate, 请务必使用 Token。 |
[in] | channel_name | 标识通话的频道名称,长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~” |
[in] | uid | 用户ID。 |
- Returns
-
virtual int nertc::IRtcEngine::leaveChannel |
( |
| ) |
|
|
pure virtual |
离开频道。
离开频道,即挂断或退出通话。
当调用 joinChannel 方法后,必须调用 leaveChannel 结束通话,否则无法开始下一次通话。 不管当前是否在通话中,都可以调用 leaveChannel,没有副作用。该方法会把会话相关的所有资源释放掉。
该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 onLeaveChannel 回调。
- Note
-
- Returns
-
Retrieves the pointer to the device manager object.
- Parameters
-
iid | ID of the interface. |
inter | Pointer to the DeviceManager object. |
- Returns
-
virtual void nertc::IRtcEngine::release |
( |
bool |
sync = false | ) |
|
|
pure virtual |
销毁 IRtcEngine 对象。
- Note
- 如果需要重新使用IRtcEngine,release后不能再initialize,需要destroyNERtcEngine后重新createNERtcEngine
- Parameters
-
[in] | sync |
- true: 同步调用。在等待 IRtcEngine 对象资源释放后再返回。App 不应该在 SDK 产生的回调中调用该接口,否则由于 SDK 要等待回调返回才能回收相关的对象资源,会造成死锁。SDK 会自动检测这种死锁并转为异步调用,但是检测本身会消耗额外的时间。
- false: 异步调用。不等 IRtcEngine 对象资源释放就立即返回。SDK 会自行释放所有资源。使用异步调用时要注意,不要在该调用后立即卸载 SDK 动态库,否则可能会因为 SDK 的清理线程还没有退出而崩溃。
|
设置通话模式
- Note
- 必须在加入通话前设置,开始通话后设置无效,结束通话后保留之前的设置。
- Parameters
-
[in] | profile | 场景模式 NERtcChannelProfileType |
- Returns
-
设置参会者角色
setClientRole 接口用于在直播场景中设置用户角色。默认情况下用户以主播角色加入房间。
在加入房间前,用户需要调用setClientRole 接口设置本端模式为观众或主播模式。在加入房间后,用户可以通过本接口切换用户模式。
用户角色支持设置为主播或观众,主播和观众的权限不同。默认情况下用户以主播角色加入房间。
virtual int nertc::IRtcEngine::setupLocalVideoCanvas |
( |
NERtcVideoCanvas * |
canvas | ) |
|
|
pure virtual |
设置本地视图。
该方法设置本地视频显示信息。App 通过调用此接口绑定本地视频流的显示视窗(view)。 在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。
- Parameters
-
- Returns
-
设置远端用户视图。
该方法绑定远端用户和显示视图,即设定 uid 指定的用户用哪个视图显示。调用该接口时需要指定远端视频的 uid,一般可以在用户加入后设置好。
如果 App 不能事先知道对方的 uid,可以在 APP 收到 onUserJoined 事件时设置。 退出频道后,SDK 会把远端用户的绑定关系清除掉。
- Parameters
-
[in] | uid | 远端用户 ID。 |
[in] | canvas | 视频画布信息 |
- Returns
-
订阅 / 取消订阅指定远端用户的视频流。对方打开视频后需要主动订阅
- Parameters
-
- Returns
-
The documentation for this class was generated from the following file: