视频会议API
视频会议API 是会议核心api接口,实现通话建立、音频采集播入、视频采集编解码、屏幕共享、录制、影音播放等。
视频管理函数
麦克风设备列表
CRVideo_GetAudioMicNames()
- 返回值:返回用户麦克风设备列表(Array)
扬声器设备列表
CRVideo_GetAudioSpkNames()
- 返回值:返回用户扬声器设备列表(Array)
麦克风设置
CRVideo_SetAudioCfg(cfg)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
cfg | CRVideo_AudioCfg | 设置参数 |
获取麦克风设置
CRVideo_GetAudioCfg()
- 返回值:cfg对象(CRVideo_AudioCfg)
打开麦克风
CRVideo_OpenMic(userID)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
userID | string | 用户的ID |
打开自已的麦克风时,先会进入到AOPENING状态,等服务器处理后才会进入AOPEN状态,此时说话才能被采集到
关闭麦克风
CRVideo_CloseMic(userID)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
userID | string | 登录成功后分配的userID |
关麦操作是立即生效的,本地会立即停止采集
麦克风状态
CRVideo_GetAudioStatus(userID)
- 返回值:返回麦克风状态(CRVideo_ASTATUS)
参数 | 类型 | 含义 |
---|---|---|
userID | string | 登录成功后分配的userID |
双方开始进入本次视频会话。操作完成则回调CRVideo_EnterMeetingRslt
获取麦克风音量
CRVideo_GetMicVolume()
- 返回值:返回麦克风音量(0~255)(number)
摄像头设备列表
CRVideo_GetAllVideoInfo()
- 返回值:返回设备列表(Array ------ CRVideo_VideoDeviceInfo)
视频设置
CRVideo_SetVideoCfg(cfg)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
cfg | CRVideo_VideoCfg | 设置参数 |
打开用户的摄像头
CRVideo_OpenVideo(userID)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
userID | string | 用户的ID |
打开用户的摄像头,以便本地、远端显示视频图像
关闭用户的摄像头
CRVideo_CloseVideo(userID)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
userID | string | 用户ID |
视频状态
CRVideo_GetVideoStatus(userID)
- 返回值:麦克风摄像头状态(CRVideo_VSTATUS)
参数 | 类型 | 含义 |
---|---|---|
userID | string | 用户ID |
获取默认视频
CRVideo_GetDefaultVideo(userID)
- 返回值:返回摄像头ID (number)
参数 | 类型 | 含义 |
---|---|---|
userID | string | 用户ID |
设置默认视频
CRVideo_SetDefaultVideo(userID, videoID)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
userID | string | 用户ID |
videoID | number | 摄像头ID。移动端传入1表示前置摄像头,2表示后置摄像头 |
获取哪个用户是主视频
CRVideo_GetMainVideo()
- 返回值:userID
设置当前哪个用户为主视频
CRVideo_SetMainVideo(userID)
- 返回值:无
开启屏幕共享
CRVideo_StartScreenShare()
- 返回值:无
停止屏幕共享
CRVideo_StopScreenShare()
- 返回值:无
自定义的抓屏图像数据
CRVideo_SetCustomizeScreenImg(format, width, heigh, dat)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
format | CRVideo_VIDEO_FORMAT | 视频格式 |
width | number | 图像的宽度 |
heigh | number | 图像的高度 |
dat | string | 承载argb数据,base64编码 |
开始云端录制、云端直播
CRVideo_StartSvrMixer(mutiMixerCfgs, mutiMixerContents,mutiMixerOutputs)
- 返回值: 错误码
参数 | 类型 | 含义 |
---|---|---|
mutiMixerCfgs | CRVideo_MutiMixerCfgsObj | 服务器混图配置 |
mutiMixerContents | CRVideo_MutiMixerContentsObj | 服务器混图内容 |
mutiMixerOutputs | CRVideo_MutiMixerOutputsObj | 服务器输出 |
注意事项 : 启动云端功能有一定耗时,请关注混图器的状态变化事件CRVideo_SvrMixerStateChanged 每个输出有私有的状态变化事件CRVideo_SvrMixerOutputInfo
更新云端录制、云端直播内容
CRVideo_UpdateSvrMixerContent(mutiMixerContents)
- 返回值: 错误码
参数 | 类型 | 含义 |
---|---|---|
mutiMixerContents | CRVideo_MutiMixerContentsObj | 服务器混图内容 |
停止云端录制、云端直播
CRVideo_StopSvrMixer()
- 返回值: 无
注意事项 : 停止有有一定耗时,请关注混图器的状态变化事件svrMixerStateChanged 每个输出有私有的状态变化事件svrMixerOutputInfo
获取云端录制、云端直播状态
CRVideo_GetSvrMixerState()
- 返回值: CRVideo_MIXER_STATE
创建白板
CRVideo_Createboard(title, width, height, pageCount)
- 返回值:白板信息
参数 | 类型 | 含义 |
---|---|---|
title | string | 白板名称 |
width | number | 白板宽度 |
height | number | 白板高度 |
pageCount | number | 白板内有多个页(一般空白板1页,文档白板为实际页数 |
其他参会者会收到:CRVideo_NotifyCreateBoard事件;同时后台会记录下白板数据,新入会者会收到:CRVideo_NotifyInitBoards事件.注意:创建完白板后,一定要及尽快调用CRVideo_InitBoardPageDat初始化各页数据
关闭白板
CRVideo_Closeboard(boardID)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
boardID | string | 白板标识 |
其他参会者将收到CRVideo_NotifyCloseBoard事件;同时后台会移除对应白板的所有信息
生成白板图元ID
CRVideo_CreateElementID()
- 返回值:图元id
本地操作;所有白板图元id,必须由此接口创建;(历史文件存储的图元id,在会议内不能再使用,应重新创建)
添加图元信息
CRVideo_Addboardelement(boardID, boardPageNo, element)
- 返回值:elementID ----- 图元标识
参数 | 类型 | 含义 |
---|---|---|
boardID | string | 白板标识 |
boardPageNo | number | 白板的页序号(0为第一页) |
element | string | 图元信息,参见json格式之BoardElementObj |
其他参会者会收到:CRVideo_NotifyAddBoardElement事件;同时后台会保存图元,新入会者会在CRVideo_NotifyInitBoardPageDat中得到这些图元
删除图元
CRVideo_Delboardelement(boardID, boardPageNo, elementIDs)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
boardID | string | 白板标识 |
boardPageNo | number | 白板的页序号(0为第一页) |
elementIDs | string | 图元id列表,多值时,以“;”分隔,如:“id1;id2” |
说明:其他参会者会收到:CRVideo_NotifyDelBoardElement事件;同时后台会移除这些图元,新入会者会在CRVideo_NotifyInitBoardPageDat中将不包含这些图元
开始播放影音
CRVideo_StartPlayMedia(mediaObj, file, locPlay, bPauseWhenFinished)
- 返回值:返回值 整形数值,1:正常,0:失败(number)
参数 | 类型 | 含义 |
---|---|---|
mediaObj | MediaContainerObj | 封装好的video对象,即需要播放的视频容器 |
file | File | File类型文件 |
locPlay | number | 是否仅仅本地播放(1:本地播放,0:会议内播放)默认0 |
bPauseWhenFinished | number | 是否播放完毕自动暂停在最后一帧(1:是 0:否) 默认0 |
暂停或恢复播放影音
CRVideo_PausePlayMedia(bPause)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
bPause | bool | ture为暂停,false为恢复 |
停止播放影音
CRVideo_StopPlayMedia()
- 返回值:无
设置播放进度
CRVideo_SetMediaplaypos(pos)
- 返回值:无
火狐浏览器更改进度条会断开流链接,如果您使用火狐浏览器请不要调用此API及拖动滚动条
参数 | 类型 | 含义 |
---|---|---|
pos | number | 设置播放位置,单位:秒 |
设置本地媒体音量
CRVideo_SetMediaVolume(level)
- 返回值:无
参数 | 类型 | 含义 |
---|---|---|
level | number | 音量等级( 取值范围:0~100) |
影音播放信息
CRVideo_Getmediainfo(userID)
- 返回值:影音文件信息(CRVideo_MediaInfoObj)
参数 | 类型 | 含义 |
---|---|---|
userID | string | 用户id |
获取影音图像数据
CRVideo_Getmediaimg(userID ,format)
- 返回值:帧信息(CRVideo_VideoImgObj)
参数 | 类型 | 含义 |
---|---|---|
userID | string | 用户id |
format | string | 非必填,返回图片的数据格式。默认为jpg |
发送IM消息
CRVideo_SendIMMsg(text, UserID, cookie)
- 返回值:任务id(string)
参数 | 类型 | 含义 |
---|---|---|
text | string | 发送的文本消息 |
UserID | string | 目标用户,如果用户ID为空,消息发送给会议内所有用户 |
cookie | string | 自定义用户数据 |
视频回调函数
视频状态变化
CRVideo_VideoStatusChanged.callback = function(userID,oldStatus,newStatus){}
功能:SDK通知用户视频状态变化
参数:
- userID ----- 会话中设备的所有者ID
- oldStatus ----- 旧状态
- newStatus ----- 新状态
麦克风状态变化
CRVideo_AudioStatusChanged.callback = function(userID,oldStatus,newStatus){}
功能:SDK通知用户麦克风状态变化
参数:
- userID ----- 会话中设备的所有者ID
- oldStatus ----- 旧状态
- newStatus ----- 新状态
摄像头设备变化
CRVideo_VideoDevChanged.callback = function(userID){}
功能:SDK通知用户的视频设备有变化
参数:
- userID ----- 设备变化的用户ID
主视频变化通知
CRVideo_NotifyMainVideoChanged.callback = function(userId){}
功能:SDK通知用户的主视频有变化
参数:
- userID ----- 主视频变化的用户ID
用户媒体流变化
CRVideo_NotifyVideoStream.callback = function(userID,stream){}
功能:SDK通知用户的媒体流有变化
参数:
- userID ----- 媒体变化的用户ID
- stream ----- 媒体流
云端录制状态变化通知
CRVideo_SvrRecordStateChanged.callback = function(state,err){}
功能 云端录制状态通知
参数
- state ----- 状态数值代码,数值请参考定义RECORD_STATE
- err ----- 错误数值代码,数值参考CRVIDEOSDK_ERR_DEF
云端录制内容变化通知
CRVideo_SvrRecVideosChanged.callback = function(jsonContents)
功能 云端录制内容变化通知
参数
- jsonContents ----- 录制内容,定义见RecordContentObj
开启屏幕共享的响应事件
CRVideo_StartScreenShareRslt.callback = function(sdkEr){}
功能:开启屏幕共享的响应事件
参数:
- sdkEr ----- 操作失败代码,定义见CRVideo_ERR_DEF
停止屏幕共享的响应事件
CRVideo_StopScreenShareRslt.callback = function(sdkEr){}
功能:停止屏幕共享的响应事件
参数:
- sdkEr ----- 操作失败代码,定义见CRVideo_ERR_DEF
通知他人开启了屏幕共享
CRVideo_NotifyScreenShareStarted.callback = function(userID){}
- 功能:通知他人开启了屏幕共享
- 参数:
- userID ----- 共享屏幕的用户userID
通知他人停止了屏幕共享
CRVideo_NotifyScreenShareStopped.callback = function(userId){}
- 功能:通知他人停止了屏幕共享
- 参数:
- userID ----- 共享屏幕的用户userID
通知屏幕共享图像数据
CRVideo_NotifyScreenShareData.callback = function(userID,rect){}
功能:通知对端屏幕图像有变化
参数:
- userID ----- 用户ID
- rect ----- 变化的区域;(可以只重绘这块区域)
自定义抓屏通知
CRVideo_NotifyCatchScreen.callback = function(){}
- 功能:自定义抓屏时,SDK通知使用者抓屏(在收到通知时, 一定要及时CRVideo_SetCustomizeScreenImg,如果没图像时,可以先送入空图像)
通知屏幕共享区域变化
CRVideo_NotifyShareRectChanged.callback = function(w,h){}
功能:通知屏幕共享大小改变
参数:
- w ----- 宽度
- h ----- 高度
发送IM消息结果
CRVideo_SendIMMsgRlst.callback = function(taskID,sdkEr,cookie){}
功能:发送IM消息,SDK通知使用者发送结果
参数:
- taskID ----- 发送任务id
- sdkEr ----- 操作失败代码,定义见CRVideo_ERR_DEF
- cookie ----- 自定义用户数据
通知收到IM消息
CRVideo_NotifyIMMsg.callback = function(fromUserID,text,sendTime){}
功能:SDK通知收到IM消息
参数:
- fromUserID ----- 消息来源
- text ----- 消息内容
- sendTime ----- 消息发送时间戳,从1970开始算起
通知初始化电子白板列表
CRVideo_NotifyInitBoards.callback = function(BoardObjs){}
功能:SDK入会后通知会议中已经存在的白板列表
参数:
- BoardObjs ----- 已经创建好的白板列表, json结构体请参见BoardObjs说明
通知初始化白板内图元数据
CRVideo_NotifyInitBoardPageDat.callback = function(boardID,boardPageNo,imgID,elementDatas,operatorID){}
功能:初始化白板页数据
参数:
- boardID ----- 白板标识
- boardPageNo ----- 白板页序号
- imgID ----- 页背景文件ID(空代表无背景)
- elementDatas ----- 此页的所有图元, 详见json结构之BoardElementObjs
- operatorID ----- 初始化用户(为空时,代表入会时后台事件)
通知创建白板
CRVideo_NotifyCreateBoard.callback = function(jsonBoard,operatorID){}
功能:SDK通知创建白板
参数:
- jsonBoard ----- 白板信息,详见json格式之BoardObj
- operatorID ----- 创建白板的用户ID
通知关闭白板
CRVideo_NotifyCloseBoard.callback = function(boardID,operatorID){}
功能:SDK通知关闭白板
参数:
- boardID ----- 白板标识
- operatorID ----- 关闭白板的用户ID
通知白板背景
CRVideo_NotifyBoardBkImage.callback = function(subPage,imgFileID,operatorID){}
功能:SDK通知白板背景
参数:
- subPage ----- 白板信息
- imgFileID ----- 背景图片文件,通过downloadNetDiskFile可下载到本地显示
- operatorID ----- 操作用户ID
通知添加图元信息
CRVideo_NotifyAddBoardElement.callback = function(boardID,boardPageNo,element,operatorID){}
功能:SDK通知添加图元信息
参数:
- boardID ----- 白板标识
- boardPageNo ----- 白板页序号
- element ----- 此页的所有图元, 详见json结构之BoardElementObj
- operatorID ----- 添加图元的用户ID
通知图元信息被修改
CRVideo_NotifyModifyBoardElement.callback = function(boardID,boardPageNo,element,operatorID){}
功能:SDK通知图元信息被修改
参数:
- boardID ----- 白板标识
- boardPageNo ----- 白板页序号
- element ----- 此页的所有图元, 详见json结构之BoardElementObj
- operatorID ----- 添加图元的用户ID
通知删除图元
CRVideo_NotifyDelBoardElement.callback = function(boardID,boardPageNo,elementIDs,operatorID){}
功能:SDK通知删除图元
参数:
- boardID ----- 白板标识
- boardPageNo ----- 白板页序号
- elementIDs ----- 图元id列表,以 “;”分隔
- operatorID ----- 删除图元的用户ID
通知白板鼠标热点
CRVideo_NotifyMouseHotSpot.callback = function(boardID,x,y,operatorID){}
功能:SDK通知设置鼠标热点消息
参数:
- boardID ----- 白板标识
- x ----- 屏幕横坐标
- y ----- 屏幕纵坐标
- operatorID ----- 操作者的用户ID
通知影音文件打开
CRVideo_NotifyMediaOpened.callback = function(totalTime,w,h){}
功能SDK通知影音文件打开
参数:
- totalTime ----- 影音时长(秒)
- w ----- 宽度
- h ----- 高度
通知影音开始播放
CRVideo_NotifyMediaStart.callback = function(userid){}
功能:SDK通知影音开始播放
参数:
- userid ----- 操作者的用户id
通知影音播放停止
CRVideo_NotifyMediaStop.callback = function(userid,reason){}
功能:SDK通知影音播放停止
参数:
- userid ----- 操作者的用户id
- reason ----- 播放停止原因
通知更新影音播放进度
CRVideo_NotifyPlayPosSetted.callback = function(setPTS){}
功能:SDK通知播放进度已设置完成
参数:
- setPTS ----- 播放进度
通知影音播放是否暂停
CRVideo_NotifyMediaPause.callback = function(userid,pause){}
功能 SDK通知影音播放是否暂停
参数:
- userid ----- 操作者的用户id
- pause ----- 是否暂停 1暂停 0播放
通知用户的视频默认设备有变化
CRVideo_DefVideoChanged.callback = function(userID,videoID){}
功能:SDK通知用户的视频默认设备有变化
参数:
- userID ----- 设备变化的用户ID
- videoID ----- 默认设备id