#include <nerecord_engine.h>
|
virtual int | initialize (const NERecordEngineContext &context)=0 |
|
virtual void | release ()=0 |
|
virtual int | joinChannel (const char *token, const char *channel_name, uid_t uid)=0 |
|
virtual int | leaveChannel ()=0 |
|
virtual int | subscribeRemoteAudioStream (uid_t uid, bool subscribe)=0 |
|
virtual int | subscribeRemoteVideoStream (uid_t uid, NERtcRemoteVideoStreamType stream_type, bool subscribe)=0 |
|
virtual int | subscribeRemoteVideoSubStream (uid_t uid, bool subscribe)=0 |
|
virtual int | setVideoMixingLayout (const VideoMixingLayout &layout)=0 |
|
virtual int | startMixingRecord ()=0 |
|
virtual void | stopMixingRecord ()=0 |
|
virtual int | updateSubscribeAudioUids (uid_t *uids, uint32_t num)=0 |
|
virtual int | updateSubscribeVideoUids (uid_t *uids, uint32_t num)=0 |
|
virtual void | startService ()=0 |
|
virtual void | stopService ()=0 |
|
virtual void | updateWatermarkConfigs (uint32_t wm_num, const WatermarkConfig *configs)=0 |
|
virtual void | updateWatermarkConfigs (uid_t uid, bool substream, uint32_t wm_num, const WatermarkConfig *configs)=0 |
|
virtual int | enableAudioVolumeIndication (bool enable, uint64_t interval)=0 |
|
virtual int | setUserBackground (uid_t uid, const char *image)=0 |
|
virtual int | enableEncryption (bool enable, const NERecordEncryptionConfig &config)=0 |
|
virtual const NERtcRecordingEngineProperties * | getProperties ()=0 |
|
RecordEngine 类提供了供 App 调用的主要接口方法。
IRecordEngine 是 NERECORD SDK 的基础接口类。创建一个 IRecordEngine 对象并调用这个对象的方法可以激活 NERECORD SDK 的通信功能。
◆ enableAudioVolumeIndication()
virtual int nerecord::IRecordEngine::enableAudioVolumeIndication |
( |
bool | enable, |
|
|
uint64_t | interval ) |
|
pure virtual |
启用说话者音量提示。该方法允许 SDK 定期向 App 反馈当前谁在说话以及说话者的音量。
启用该方法后,无论频道内是否有人说话,都会在"onRemoteAudioVolumeIndication" 回调中按设置的间隔时间返回音量提示。
- Parameters
-
enable | 是否启用说话者音量提示。 |
interval | 指定音量提示的时间间隔,单位为毫秒。必须设置为 100 毫秒的整数倍值。 |
- Returns
-
◆ enableEncryption()
开启或关闭媒体流加密。 在金融行业等安全性要求较高的场景下,您可以在加入房间前通过此方法设置媒体流加密模式。
- Note
- 请在加入房间前调用该方法,加入房间后无法修改加密模式与密钥。用户离开房间后,SDK 会自动关闭加密。如需重新开启加密,需要在用户再次加入房间前调用此方法。
- 同一房间内,所有开启媒体流加密的用户必须使用相同的加密模式和密钥,否则使用不同密钥的成员加入房间时会报错 kNERtcErrEncryptNotSuitable(30113)。
- 安全起见,建议每次启用媒体流加密时都更换新的密钥。
- Parameters
-
enable | 是否开启媒体流加密。
|
config | 媒体流加密方案。详细信息请参考 nerecord::NERtcEncryptionConfig。 |
- Returns
-
- Since
- 5.5.3103
◆ getProperties()
◆ initialize()
初始化 NERECORD SDK 服务。
该方法用来进行初始化 NERECORD 服务。传入云信为开发者签发的厂商秘钥进行初始化。在调用 createNERecordEngine() 方法创建 IRecordEngine 对象后,必须先调用该方法进行初始化,才能使用其他方法。初始化成功后,默认处于音视频通话模式。
- Warning
- 必须使用同一个 App Key 才能进行通话。
- 一个 IRecordEngine 实例对象只能使用一个 App Key。如需更换 App Key,必须先调用 release 方法销毁当前实例,再调用本方法重新创建实例。
- Parameters
-
- Returns
-
◆ joinChannel()
virtual int nerecord::IRecordEngine::joinChannel |
( |
const char * | token, |
|
|
const char * | channel_name, |
|
|
uid_t | uid ) |
|
pure virtual |
初始化频道,录制 SDK 需要先预加入频道后再加入频道。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。使用不同 App Key 的 App 是不能互通的。如果已在通话中,用户必须调用 leaveChannel 退出当前通话,才能进入下一个频道。
- Note
- 频道内每个用户的用户 ID 必须是唯一的。
- Parameters
-
[in] | channel_name | 标识通话的频道名称,长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~” |
- Returns
- 0:方法调用成功。
- 其他:方法调用失败。 加入频道。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。使用不同 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
-
◆ leaveChannel()
virtual int nerecord::IRecordEngine::leaveChannel |
( |
| ) |
|
|
pure virtual |
离开频道。
离开频道,即挂断或退出通话。
当调用 joinChannel 方法后,必须调用 leaveChannel 结束通话,否则无法开始下一次通话。不管当前是否在通话中,都可以调用 leaveChannel,没有副作用。该方法会把会话相关的所有资源释放掉。
该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 onLeaveChannel 回调。
- Note
-
- Returns
-
◆ release()
virtual void nerecord::IRecordEngine::release |
( |
| ) |
|
|
pure virtual |
◆ setUserBackground()
virtual int nerecord::IRecordEngine::setUserBackground |
( |
uid_t | uid, |
|
|
const char * | image ) |
|
pure virtual |
设置指定用户的背景。当指定 uid 没有发送视频流时,会显示该背景图片。
- Parameters
-
uid | 指定用户 uid。 |
image | 背景图片的路径。 |
- Returns
-
◆ setVideoMixingLayout()
virtual int nerecord::IRecordEngine::setVideoMixingLayout |
( |
const VideoMixingLayout & | layout | ) |
|
|
pure virtual |
设置视频合流布局。
视频合流模式下, 调用该函数设置布局模式。
- Returns
-
◆ startMixingRecord()
virtual int nerecord::IRecordEngine::startMixingRecord |
( |
| ) |
|
|
pure virtual |
开始合流录制。
合流模式下, 调用该函数开始录制。
- Returns
-
◆ startService()
virtual void nerecord::IRecordEngine::startService |
( |
| ) |
|
|
pure virtual |
◆ stopMixingRecord()
virtual void nerecord::IRecordEngine::stopMixingRecord |
( |
| ) |
|
|
pure virtual |
结束合流录制。
合流模式下, 调用该函数结束录制。
◆ stopService()
virtual void nerecord::IRecordEngine::stopService |
( |
| ) |
|
|
pure virtual |
◆ subscribeRemoteAudioStream()
virtual int nerecord::IRecordEngine::subscribeRemoteAudioStream |
( |
uid_t | uid, |
|
|
bool | subscribe ) |
|
pure virtual |
订阅/取消订阅指定音频流。
- Parameters
-
[in] | uid | 指定用户的 ID |
[in] | subscribe |
- true:订阅指定音频流(默认)。
- false:取消订阅指定音频流。
|
- Returns
-
◆ subscribeRemoteVideoStream()
订阅/取消订阅指定视频流。
- Parameters
-
[in] | uid | 指定用户的 ID |
[in] | max_profile | 最大分辨率 |
[in] | subscribe |
- true:订阅指定视频流。
- false:取消订阅指定视频流。
|
- Returns
-
◆ subscribeRemoteVideoSubStream()
virtual int nerecord::IRecordEngine::subscribeRemoteVideoSubStream |
( |
uid_t | uid, |
|
|
bool | subscribe ) |
|
pure virtual |
订阅/取消订阅指定用户视频辅流。
- Parameters
-
[in] | uid | 指定用户的 ID |
[in] | subscribe |
- true:订阅指定视频辅流。
- false:取消订阅指定视频辅流。
|
- Returns
-
◆ updateSubscribeAudioUids()
virtual int nerecord::IRecordEngine::updateSubscribeAudioUids |
( |
uid_t * | uids, |
|
|
uint32_t | num ) |
|
pure virtual |
手动模式下批量更新订阅的音频流。
不在数组中已定阅的流会被取消订阅
- Parameters
-
[in] | uids | 指定用户的 ID 数组 |
[in] | num | uids 数组大小 |
- Returns
-
◆ updateSubscribeVideoUids()
virtual int nerecord::IRecordEngine::updateSubscribeVideoUids |
( |
uid_t * | uids, |
|
|
uint32_t | num ) |
|
pure virtual |
手动模式下批量更新订阅的视频流。
不在数组中已定阅的流会被取消订阅
- Parameters
-
[in] | uids | 指定用户的 ID 数组 |
[in] | num | uids 数组大小 |
- Returns
-
◆ updateWatermarkConfigs() [1/2]
virtual void nerecord::IRecordEngine::updateWatermarkConfigs |
( |
uid_t | uid, |
|
|
bool | substream, |
|
|
uint32_t | wm_num, |
|
|
const WatermarkConfig * | configs ) |
|
pure virtual |
更新单流录制视频水印。
录制重启后水印会被取消
- Parameters
-
[in] | uid | 用户 uid |
[in] | substream | false - 更新主流水印, true - 更新辅流水印 |
[in] | wm_num | 水印个数 |
[in] | configs | 水印数组 WatermarkConfig |
◆ updateWatermarkConfigs() [2/2]
virtual void nerecord::IRecordEngine::updateWatermarkConfigs |
( |
uint32_t | wm_num, |
|
|
const WatermarkConfig * | configs ) |
|
pure virtual |
更新合流录制视频水印。
录制重启后水印会被取消
- Parameters
-
The documentation for this class was generated from the following file: