跳转到主要内容

IRTCEngine

创建IRTCEngine

RTCENGINE_API StatusCode RTCENGINE_CALL RTCEngine_Init(IRTCEngine** rtc);
参数
rtcIRTCEngine 对象类

释放IRTCEngine

RTCENGINE_API void RTCENGINE_CALL RTCEngine_Free(IRTCEngine** rtc);
参数
rtcIRTCEngine 对象类

获取版本号信息

RTCENGINE_API StatusCode RTCENGINE_CALL RTCEngine_Version(const char*v1);
参数
v1sdk版本号
注:需要传入的时候需要外面分配内存,至少100长度

获取错误码描述

RTCENGINE_API void RTCENGINE_CALL RTCEngine_GetStatusMsg(StatusCode code, char* msg);
参数
code错误码
msg错误码描述信息
注:msg需要传入的时候需要外面分配内存,至少100长度,中文编码gbk

基础函数

获取配置信息对象

virtual StatusCode getSetting(IRTCSetting** set) = 0;
参数
setsdk 配置信息类,详细内容查看

设置消息回调

virtual StatusCode setEventHandler(IRTCEngineEvent* e) = 0;
参数
e消息事件回调纯虚函数实体类,相关回调点击查看

频道相关函数

加入频道

virtual StatusCode joinChannel(const char* token) = 0;
参数
token加入频道所需要的token

离开频道

virtual void leaveChannel() = 0;

获取自身用户信息

virtual StatusCode getMe(char** s, int* c) = 0;
参数
s用户信息json
c用户信息json 长度

获取频道信息

virtual StatusCode getChannel(char** s, int* c) = 0;
参数
s频道信息json
c频道信息json 长度

获取频道所有成员信息

virtual StatusCode getMembers(char** s, int* c) = 0;
参数
s所有用户信息json array
c所有用户信息json array长度

获取指定成员信息

virtual StatusCode getMember(const char* uid, char** s, int* c) = 0;
virtual StatusCode getMemberByLinkId(const char* linkId, char** s, int* c) = 0;
virtual StatusCode getMemberByLinkId(int linkId, char** s, int* c) = 0;
		
参数
uid/linkid用户id,流媒体linkid
s用户信息json
c用户信息json 长度

流媒体相关函数

网络测速

	virtual StatusCode probeNetwork(int time, int upindex, int downindex) = 0;
参数
time需要测速的时间,建议是10的倍数
upindex测速上行(单位KB),0 为不进行此项测速
downindex测速下行(单位KB),0 为不进行此项测速
注:测速结果将在回调内返回

获取摄像头信息

virtual StatusCode getEnumVideo(char** devices, int* iSize) = 0;
参数
Devices摄像头信息json, 摄像头信息
iSize摄像头信息json 长度

获取屏幕信息

virtual StatusCode getEnumScreen(char** devices, int* iSize) = 0;
参数
Devices屏幕信息json, 共享屏幕信息
iSize屏幕信息json 长度

获取麦克风信息

virtual StatusCode getEnumAudio(char** devices, int* iSize) = 0;
参数
Devices麦克风信息json, 麦克风信息
iSize麦克风信息json 长度

获取扬声器信息

virtual StatusCode getEnumSpeaker(char** devices, int* iSize) = 0;
参数
Devices扬声器信息json, 扬声器信息
iSize扬声器信息json 长度

获取视频轨道对象

virtual StatusCode getCameraTrack(const char* track_key,IRTCLocalCameraTrack ** track) = 0;
参数
track_key本地视频轨道对象key,使用者维护此key。用于区分不通轨道对象,默认推流的desc
track视频轨道对象

获取共享屏幕流对象

virtual StatusCode getScreenTrack(const char* track_key,IRTCLocalScreenTrack ** track) = 0;
参数
track_key本地视频轨道对象key,使用者维护此key。用于区分不通轨道对象,默认推流的desc
track屏幕轨道对象

获取音频流对象

virtual StatusCode getAudioTrack(const char* track_key,IRTCLocalMicTrack** track) = 0;
参数
track_key本地视频轨道对象key,使用者维护此key。用于区分不通轨道对象,默认推流的desc
track麦克风轨道对象

获取成员音频轨道对象

virtual StatusCode getRemoteAudioTrack(const char* uid, const char* trackid, IRTCRemoteAudioTrack** track) = 0;
参数
uid用户id(空为全体用户)
trackid用户音频流轨道id(空为全体轨道)
track本地音频混音轨道对象

获取成员视频轨道对象

virtual StatusCode getRemoteVideoTrack(const char* uid, const char* trackid, IRTCRemoteVideoTrack** track) = 0;
参数
uid用户id
trackid用户视频流轨道id
track成员视频轨道对象

获取合成流视频轨道对象

virtual StatusCode getMCUVideoTrack(IRTCRemoteVideoTrack** track) = 0;
参数

订阅流轨道

virtual StatusCode subscribe(IRTCTrack* tk ) = 0;
参数

取消订阅流轨道

virtual StatusCode unsubscribe(IRTCTrack* tk ) = 0;
参数

发布视频轨道

virtual StatusCode publish(IRTCTrack* tk, RTCVideoPublishOptions* opt = nullptr) = 0;
参数
tk流轨道信息,IRTCLocalCameraTrackIRTCLocalScreenTrack
opt推流轨道参数,空为,默认推流参数,RTCVideoPublishOptions

发布音频轨道

virtual StatusCode publish(IRTCTrack* tk, RTCAudioPublishOptions* opt = nullptr) = 0;
参数
tk流轨道信息,IRTCLocalMicTrack
opt推流轨道参数,空为,默认推流参数,RTCAudioPublishOptions

其他

添加上传日志

virtual StatusCode addUploadLog(const char* type ,const char* msg) = 0;
参数
type日志类型标识
msg日志内容
添加后的日志会上传到日志服务器上。