API
更新时间: 2024/09/06 14:40:05
模块
基础函数
登录/注销
房间管理
进出房间
房间和成员管理
音频管理
视频管理
屏幕共享
本地录制/本地直播
云端录制/互动直播
接口详情
getSDKVersion
- 功能: 获取原生SDK版本号
- 返回值: SDK版本号
RTCSDK.getSDKVersion()
init
RTCSDK.init(initObj, initCallback)
参数 |
类型 |
说明 |
initObj |
object |
SDK配置、临时文件存放位置,不可为空InitObj |
initCallback |
function |
回调函数,参数1为错误码 |
uninit
RTCSDK.uninit()
setServerAddr
RTCSDK.setServerAddr(addr)
参数 |
类型 |
说明 |
addr |
string |
服务器地址(如:www.cloudroom.com) 或多个服务器地址串(如:www.cloudroom.com:8080;183.60.47.52:8080;) |
login
RTCSDK.login(LoginObj)
参数 |
类型 |
说明 |
LoginObj |
object |
登录配置 |
登陆成功则回调 loginSuccess ,登陆失败则回调 loginFail
logout
RTCSDK.logout()
退出程序时,必须注销本次登录,然后再进行SDK反初始化操作
loginSuccess
RTCSDK.on("loginSuccess", ({ userID }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
loginFail
RTCSDK.on("loginFail", ({ sdkErr }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
lineOff
RTCSDK.on("lineOff", ({ sdkErr }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
createMeeting
RTCSDK.createMeeting()
操作成功则回调createMeetingSuccess,失败则回调createMeetingFail
destroyMeeting
RTCSDK.destroyMeeting(meetID, cookie)
参数 |
类型 |
说明 |
meetID |
number |
房间号 |
cookie |
string |
自定义数据(在响应消息中回传给调用者),不需要时传空字符串 |
回调函数destroyMeetingRslt
createMeetingSuccess
RTCSDK.on("createMeetingSuccess", ({ MeetInfo }) => {})
参数 |
类型 |
说明 |
MeetInfo |
object |
房间对象,详细介绍见类型定义 |
createMeetingFail
RTCSDK.on("createMeetingFail", ({ sdkErr }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
destroyMeetingRslt
RTCSDK.on("destroyMeetingRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
enterMeeting
RTCSDK.enterMeeting(meetID)
参数 |
类型 |
说明 |
meetID |
number |
房间号 |
操作完成则回调enterMeetingRslt
exitMeeting
RTCSDK.exitMeeting()
enterMeetingRslt
RTCSDK.on("enterMeetingRslt", ({ sdkErr }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
userEnterMeeting
RTCSDK.on("userEnterMeeting", ({ UID }) => {})
参数 |
类型 |
说明 |
UID |
string |
用户ID, 详细介绍见关键词 |
userLeftMeeting
RTCSDK.on("userLeftMeeting", ({ UID }) => {})
参数 |
类型 |
说明 |
UID |
string |
用户ID, 详细介绍见关键词 |
getAllMembers
- 功能: 获取房间所有成员信息列表
- 返回值: 返回含多个成员信息(Array ------MemberInfo)
RTCSDK.getAllMembers()
getMemberInfo
RTCSDK.getMemberInfo(UID)
参数 |
类型 |
说明 |
UID |
string |
用户ID, 详细介绍见关键词 |
sendMeetingCustomMsg
RTCSDK.sendMeetingCustomMsg(msg, cookie)
参数 |
类型 |
说明 |
msg |
string |
发送的文本 |
cookie |
string |
可缺省,详细介绍见关键词 |
需要进进入房间议后才能调用
notifyNickNameChanged
RTCSDK.on("notifyNickNameChanged", ({ userID, oldName, newName }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
oldName |
string |
改变之前的昵称 |
newName |
string |
改变之后的昵称 |
改昵称的用户自身不会接收到此通知
sendMeetingCustomMsgRslt
RTCSDK.on("sendMeetingCustomMsgRslt", ({ sdkErr, cookie }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
cookie |
string |
详细介绍见cookie |
notifyMeetingCustomMsg
RTCSDK.on("notifyMeetingCustomMsg", ({ fromUserID, text }) => {})
参数 |
类型 |
说明 |
fromUserID |
string |
房间内广播消息的发送者的用户id |
text |
string |
广播内容 |
netStateChanged
RTCSDK.on("netStateChanged", ({ level }) => {})
参数 |
类型 |
说明 |
level |
number |
网络状况等级(0~10,10分为最佳网络) |
openMic
RTCSDK.openMic(UID)
参数 |
类型 |
说明 |
UID |
string |
用户ID, 详细介绍见关键词 |
打开自已的麦克风时,先会进入到AOPENING状态,等服务器处理后才会进入AOPEN状态,此时说话才能被采集到。回调函数audioStatusChanged
closeMic
RTCSDK.closeMic(UID)
参数 |
类型 |
说明 |
UID |
string |
用户ID, 详细介绍见关键词 |
关麦操作是立即生效的,本地会立即停止采集。回调函数audioStatusChanged
setAllAudioClose
RTCSDK.setAllAudioClose()
关闭所有用户的麦克风(自己除外) , 调用此接口后会话内其他人的麦克风会关闭,同时收到消息audioStatusChanged
getAudioCfg
RTCSDK.getAudioCfg()
setAudioCfg
RTCSDK.setAudioCfg(AudioCfg)
参数 |
类型 |
说明 |
AudioCfg |
object |
音频配置,参见AudioCfg |
注意:成功进入房间后,才可以设置音频属性。
getSpeakerVolume
- 功能: 获取本地扬声器音量
- 返回值: 本地扬声器音量(number),音量等级类型 0-255
RTCSDK.getSpeakerVolume()
setSpeakerVolume
RTCSDK.setSpeakerVolume(level)
参数 |
类型 |
说明 |
level |
number |
本地扬声器音量,取值:0-255 |
getSpeakerOut
- 功能: 获取当前是否外放
- 返回值: Boolean
RTCSDK.getSpeakerOut()
setSpeakerOut
RTCSDK.setSpeakerOut(speakerOut)
参数 |
类型 |
说明 |
speakerOut |
boolean |
是否外放 |
audioStatusChanged
RTCSDK.on("audioStatusChanged", ({ userID, oldStatus, newStatus }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
oldStatus |
number |
旧状态,参考麦克风状态 |
newStatus |
number |
新状态,参考麦克风状态 |
micEnergyUpdate
RTCSDK.on("micEnergyUpdate", ({ userID, oldLevel, newLevel }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
oldLevel |
number |
原来的说话声音强度等级,0-10 |
newLevel |
number |
现在的说话声音强度等级,0-10 |
openVideo
RTCSDK.openVideo(UID)
参数 |
类型 |
说明 |
UID |
string |
用户ID, 详细介绍见关键词 |
closeVideo
RTCSDK.closeVideo(UID)
参数 |
类型 |
说明 |
UID |
string |
用户ID, 详细介绍见关键词 |
getMyVideoPosition
RTCSDK.getMyVideoPosition()
getVideoCfg
RTCSDK.getVideoCfg()
setVideoCfg
RTCSDK.setVideoCfg(VideoCfg)
参数 |
类型 |
说明 |
VideoCfg |
object |
摄像头参数,参见VideoCfg |
getVideoEffects
RTCSDK.getVideoEffects()
该接口仅安卓可用
setVideoEffects
RTCSDK.setVideoEffects(VideoEffects)
该接口仅安卓可用
getDefaultVideo
- 功能: 获取指定用户的默认摄像头
- 返回值: 摄像头ID
RTCSDK.getDefaultVideo(UID)
参数 |
类型 |
说明 |
UID |
string |
用户ID, 详细介绍见关键词 |
setDefaultVideo
RTCSDK.setDefaultVideo(UID, videoID)
getAllVideoInfo
- 功能: 获取用户的所有摄像头信息(包含未开启的摄像头)
- 返回值: 用户的所有摄像头信息列表,数据类型为: VideoInfosObj
RTCSDK.getAllVideoInfo(UID)
参数 |
类型 |
说明 |
UID |
string |
用户的UID |
videoStatusChanged
RTCSDK.on("videoStatusChanged", ({ userID, oldStatus, newStatus }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
oldStatus |
number |
旧状态,参考摄像头状态 |
newStatus |
number |
新状态,参考摄像头状态 |
openVideoRslt
RTCSDK.on("openVideoRslt", ({ deviceID, success }) => {})
参数 |
类型 |
说明 |
deviceID |
string |
摄像头设备ID |
success |
boolean |
是否成功 |
videoDevChanged
RTCSDK.on("videoDevChanged", ({ userID }) => {})
参数 |
类型 |
说明 |
userID |
string |
用户ID, 详细介绍见关键词 |
RTCSDK.getMediaCfg()
RTCSDK.setMediaCfg(VideoCfg)
参数 |
类型 |
说明 |
VideoCfg |
object |
影音共享配置参数,参见VideoCfg |
RTCSDK.startPlayMedia(filename, bLocPlay)
参数 |
类型 |
说明 |
filename |
string |
文件名,全路径 |
bLocPlay |
number |
播放模式:0:房间内播放(默认值) 1:本地播放 |
RTCSDK.pausePlayMedia(isPause)
参数 |
类型 |
说明 |
isPause |
boolean |
是否暂停 |
RTCSDK.stopPlayMedia()
回调函数notifyMediaStop
RTCSDK.setMediaPlayPos(pos)
参数 |
类型 |
说明 |
pos |
number |
设置播放位置,单位:毫秒 |
RTCSDK.getMediaInfo()
RTCSDK.on("notifyMediaOpened", ({ totalTime, width, height }) => {})
参数 |
类型 |
说明 |
totalTime |
number |
影音时长(毫秒) |
width |
number |
视频宽 |
height |
number |
视频高 |
收到该通知即可渲染媒体共享组件
RTCSDK.on("notifyMediaStart", ({ userID }) => {})
参数 |
类型 |
说明 |
userID |
string |
开启影音共享用户的userID |
收到该通知即可渲染媒体共享组件
RTCSDK.on("notifyMediaPause", ({ userID, pause }) => {})
参数 |
类型 |
说明 |
userID |
string |
开启屏幕共享用户的userID |
pause |
boolean |
是否暂停状态 |
RTCSDK.on("notifyMediaStop", ({ userID, reason }) => {})
参数 |
类型 |
说明 |
userID |
string |
开启屏幕共享用户的UID |
reason |
number |
播放停止原因,数值参考reason |
收到该通知即可销毁媒体共享组件
getScreenShareCfg
RTCSDK.getScreenShareCfg()
setScreenShareCfg
RTCSDK.setScreenShareCfg(ScreenShareCfg)
startScreenShare
RTCSDK.startScreenShare(ScreenMessageCfg)
回调函数startScreenShareRslt
屏幕共享需要相应授权,否则无法进行屏幕共享。参考配置
stopScreenShare
RTCSDK.stopScreenShare()
回调函数stopScreenShareRslt
startScreenShareRslt
RTCSDK.on("startScreenShareRslt", ({ sdkErr }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
notifyScreenShareStarted
RTCSDK.on("notifyScreenShareStarted", ({ userID }) => {})
参数 |
类型 |
说明 |
userID |
string |
开启影音共享用户的userID |
收到该通知即可渲染屏幕共享组件
stopScreenShareRslt
RTCSDK.on("stopScreenShareRslt", ({ sdkErr }) => {})
参数 |
类型 |
说明 |
sdkErr |
number |
错误码,详细见错误码定义 |
notifyScreenMarkStarted
RTCSDK.on("notifyScreenMarkStarted", () => {})
notifyScreenMarkStopped
RTCSDK.on("notifyScreenMarkStopped", () => {})
notifyScreenShareStopped
RTCSDK.on("notifyScreenShareStopped", ({ userID }) => {})
参数 |
类型 |
说明 |
userID |
string |
开启屏幕共享用户的userID |
createLocMixer
RTCSDK.createLocMixer(mixerID, mixerCfg, mixerContents)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
mixerCfg |
object |
混图器规格配置,MixerCfg |
mixerContents |
array |
混图器内容配置,Array<MixerCotent> |
创建本地混图器(用于本地录制、本地推流),当需要多个不同内容的录制、或直播时,就要创建多个混图器 。混图器开消比较大,多个同样图像的输出应该有一个混图器加上多个输出实现;
updateLocMixerContent
RTCSDK.updateLocMixerContent(mixerID, mixerContents)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
mixerContents |
array |
混图器内容配置,Array<MixerCotent> |
destroyLocMixer
RTCSDK.destroyLocMixer(mixerID)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
消毁本地混图器后, 基于此混图器的录制输出、直播推流输出将自动结束
getLocMixerState
RTCSDK.getLocMixerState(mixerID)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
addLocMixerOutput
- 功能: 开启本地录制、开启直播推流
- 返回值: 错误码
RTCSDK.addLocMixerOutput(mixerID, MixerOutPutCfgs)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
MixerOutPutCfgs |
Array<MixerOutPutCfg> |
本地输出对象 |
rmLocMixerOutput
RTCSDK.rmLocMixerOutput(mixerID, nameOrUrls)
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
nameOrUrls |
Array<String> |
要停止的录制文件名或直播url列表 |
所有输出停止后并不会消毁混图器,如果混图器不再需要请手工消毁
getAllRecordFiles
RTCSDK.getAllRecordFiles()
addFileToRecordMgr
- 功能: 添加本地文件到录制文件管理中
- 返回值: -1:本地文件不存在,0:成功,1:文件已经被添加过
RTCSDK.addFileToRecordMgr(filename, filePath)
参数 |
类型 |
说明 |
filename |
string |
文件名,不含路径 |
filePath |
string |
文件路径,不含文件名 |
第三方录制文件调用此接口后可进行本地回放和上传到视频服务器上,和自己录制的文件一样可以正常
removeFromFileMgr
RTCSDK.removeFromFileMgr(filename)
参数 |
类型 |
说明 |
filename |
string |
文件名,不含路径 |
上传中的文件会被取消上传 , 已上传完成的服务器文件不受影响
uploadRecordFile
RTCSDK.uploadRecordFile(filename, svrPathFileName)
参数 |
类型 |
说明 |
filename |
string |
文件名,不含路径 |
svrPathFileName |
string |
文件存放在服务器上的相对路径文件名(如/AA/BB/CC/test.mp4) |
cancelUploadRecordFile
RTCSDK.cancelUploadRecordFile(filename)
参数 |
类型 |
说明 |
filename |
string |
文件名,不含路径 |
setPicResource
RTCSDK.setPicResource(resId, picPath)
参数 |
类型 |
说明 |
resId |
string |
资源唯一标识 |
picPath |
string |
资源文件路径,为空代表移除资源 |
locMixerStateChanged
RTCSDK.on("locMixerStateChanged", ({ mixerID, state }) => {})
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
state |
number |
混图器状态 |
locMixerOutputInfo
RTCSDK.on("locMixerOutputInfo", ({ mixerID, nameOrUrl, outputInfo }) => {})
参数 |
类型 |
说明 |
mixerID |
string |
混图器唯一标识 |
nameOrUrl |
string |
录像名称、或直播url |
outputInfo |
object |
通知内容,参见MixerOutputInfo |
notifyRecordFileStateChanged
RTCSDK.on("notifyRecordFileStateChanged", ({ fileName, state }) => {})
参数 |
类型 |
说明 |
fileName |
string |
文件名 |
state |
number |
状态,0未上传,1上传中,2已上传,3上传失败 |
notifyRecordFileUploadProgress
RTCSDK.on("notifyRecordFileUploadProgress", ({ fileName, percent }) => {})
参数 |
类型 |
说明 |
fileName |
string |
文件名 |
percent |
number |
进度0-100 |
createCloudMixer
- 功能: 开始云端录制、云端直播
- 返回值: 云端混图器ID
RTCSDK.createCloudMixer(cfg)
可以开启多个云端混图器,具体个数和企业购买的授权相关;
开启云端混图器后,房间内所有人都将收到cloudMixerStateChanged通知状态值为1;
云端混图器部署有少量耗时,如果在部署过程遇到异常,将收到createCloudMixerFailed回调;
云端混图器启动完成并进入录制或推流状态时,将收到cloudMixerStateChanged通知状态值为2;
开启云端混图器在进入工作中的状态后,可以通过updateCloudMixerContent更新内容;
混图器如果在工作中遇到异常而停止时,将收到cloudMixerStateChanged通知,状态值为0,并携带错误原因;
updateCloudMixerContent
- 功能: 更新云端录制、云端直播内容
- 返回值: 错误码
RTCSDK.updateCloudMixerContent(mixerID, cfg)
更新混图器内容时,只能更新内容和布局,不能更改混图器规格、输出目标;
更新混图器内容时,房间内所有人都将收到cloudMixerInfoChanged通知;
destroyCloudMixer
RTCSDK.destroyCloudMixer(mixerID)
getCloudMixerInfo
RTCSDK.getCloudMixerInfo(mixerID)
getAllCloudMixerInfo
RTCSDK.getAllCloudMixerInfo()
createCloudMixerFailed
RTCSDK.on("createCloudMixerFailed", ({ mixerID, sdkErr }) => {})
cloudMixerStateChanged
RTCSDK.on("cloudMixerStateChanged", ({ mixerID, state, exParam, operUserID }) => {})
cloudMixerOutputInfoChanged
RTCSDK.on("cloudMixerOutputInfoChanged", ({ mixerID, outputInfo }) => {})
cloudMixerInfoChanged
RTCSDK.on("cloudMixerInfoChanged", ({ mixerID }) => {})
可调用:getCloudMixerInfo获取相关信息