API接口文档

ValleyRenMeet 类方法介绍

1.初始化实例

示例
let meet = new ValleyRenMeetKit(Options);
参数
参数名 类型 描述
Options Object 实例配置

Options

参数名 类型 描述
meetMode Number 会议模式: 0 视频会议 1 主持人模式;2 ZOOM模式; 默认0(视频会议)
audioMeet Boolean 音频会议: false 视频会议 true 音频会议;默认false(音视频会议)
videoProfile String 视频分辨率
userRole Number 用户身份:0 与会者 1 主持人 2 监看者;默认0;(注:会议模式为0时用户身份仅有与会者和监看者身份生效,当会议模式为1时仅与会者和主持人身份生效)
logLevel String 打印日志级别: infowarningerror
userId String 自定义用户ID
userData String 自定义用户数据,推荐JSON字符串
autoBitrate boolean 是否开启码流自适应

videoProfile

参数名 类型 描述
ValleyRenVideoProfile120P String 160*120 65
ValleyRenVideoProfile180P String 320*180 140
ValleyRenVideoProfile240P String 320*240 200
ValleyRenVideoProfile360P String 640*360 400
ValleyRenVideoProfile360P_1 String 640*360 512
ValleyRenVideoProfile480P String 640*480 512
ValleyRenVideoProfile480P_1 String 640*480 768
ValleyRenVideoProfile720P String 1280*720 1280
ValleyRenVideoProfile1080P String 1920*1080 2048

2. 配置开发者信息

示例
meet.initAppInfo(appId, appToken);
参数
参数名 类型 描述
appId String 云平台的应用ID
appToken String 云平台的应用Token
说明

该方法为配置开发者信息。

3. 配置私有云

示例
meet.configServer(address);
参数
参数名 类型 描述
address String 私有云服务地址(HTTPS环境不支持IP)
说明

配置私有云信息,当使用私有云时才需要进行配置,默认无需配置。

4. 获取SDK版本号

示例
meet.getSDKVersion();
说明

返回SDK版本号。

ValleyRenMeetKit 接口类

1. 预览本地音视频

示例
Meet.setLocalVideoCapturer(constraints);
参数
参数名 类型 描述
constraints Object 音视频配置(非必填项)

constraints

参数名 类型 描述
video Object 视频配置;
audio Object 音频配置;
video 类型 描述
enable Boolean true为采集摄像头, false;
devideId String devideId: 设备ID,可通过getDevices方法获取
audio 类型 描述
enable Boolean true为采集麦克风, false;
devideId String devideId: 设备ID,可通过getDevices方法获取

Return

Promise对象

Promise.then 返回的参数data

data 描述
mediaStream MediaStream
mediaRender HTMLDivElement
说明

预览本地音视频,如果video.enabletrue时,表示允许采集摄像头;video.deviceId表示采集指定摄像头的媒体流。

2. 设置本地视频是否传输

示例
meet.setLocalVideoEnable(enable);
参数
参数名 类型 描述
enable Boolean true为传输视频,false为不传输视频,默认视频传输

3. 设置本地音频是否传输

示例
meet.setLocalAudioEnable(enable);
参数
参数名 类型 描述
enable Boolean true为传输视频,false为不传输视频,默认视频传输

4. 获取本地视频传输是否打开

示例
meet.getLocalVideoEnable();
说明

视频是否传输。

5. 获取本地音频传输是否打开

示例
meet.getLocalAudioEnable();
说明

音频是否传输。

6. 设置远端音视频是否传输

示例
meet.setRemoteAVEnable(peerId, audioEnable, videoEnable);
参数
参数名 类型 描述
peerId String RTC服务生成的标识Id (用于标识与会者,每次加入会议随机生成)
audioEnable Boolean 音频是否传输
videoEnable Boolean 视频是否传输

7. 打开共享通道

示例
meet.openShare(type);
参数
参数名 类型 描述
type Number 自定义共享通道标识id
说明

打开共享通道之后,将会收到share-result回调。

8. 设置共享信息

示例
meet.setShareInfo(shareInfo);
参数
参数名 类型 描述
shareInfo String 自定义共享信息,推荐JSON字符串
说明

打开共享通道成功(share-result )之后调用,其他端在收到share-opened回调时将收到该参数。

9. 关闭共享通道

示例
meet.closeShare(type);
参数
参数名 类型 描述
type Number 自定义共享通道标识id
说明

结束共享,其他参会者将会收到share-closed

10. 开始屏幕共享

示例
meet.startScreenCap(scrnStream);
参数
参数名 类型 描述
scrnStream MediaStream 屏幕共享媒体流
说明

该接口表示发布该屏幕共享流,发布共享流之前,需要获取到屏幕共享流,具体使用请前往npm 市场查看valleyren-share-screen

11. 结束屏幕共享

示例
meet.stopScreenCap();
说明

停止该屏幕共享流。

12. 加入房间

示例
meet.joinRTC(roomId, userToken);
参数
参数名 类型 描述
roomId String 房间唯一标识ID
userToken String 用于企业认证,如果开通了企业认证的客户,需要使用该方法进行初始化设置

13. 发送用户实时消息

示例
meet.sendUserMessage(userName, userHeaderUrl, content);
参数
参数名 类型 描述
userName String 自定义用户昵称(最大256字节)
userHeaderUrl String 自定义头像URL(最大512字节)
content String 自定义消息内容,推荐JSON字符串(最大1024字节)

14. 设置某路视频广播 – (仅主持人模式有效)

示例
meet.setBroadCast(enable, peerId);
参数
参数名 类型 描述
enable Boolean 是否广播用户图像: true为广播,false为不广播
peerId String RTC服务生成的标识Id (用于标识与会者,每次加入会议随机生成)
说明

主持人模式,主持人可以看到所有用户的图像,与会者只能看到主持人模式,如果主持人广播某人的视频,其他都可以看到被广播者的图像。取消广播,将会移除被广播者的图像。

15. 设置是否单独聊天 – (仅主持人模式有效)

示例
meet.setTalkOnly(enable, peerId);
参数
参数名 类型 描述
enable Boolean 是否设置单聊: true为广播,false为不广播
peerId String RTC服务生成的标识Id (用于标识与会者,每次加入会议随机生成)
说明

主持人设置单聊对象,房间内的人将不能听到单聊双方的语音。

16. 离开房间

示例
meet.leaveRTC();
说明

释放实例。离开页面或退出房间时需要调用此方法,其他端才会收到用户离开的回调,否则会有视图残留在页面。

17. 设置音频检测是否打开

示例
meet.setAudioActiveCheck(enable);
参数
参数名 类型 描述
enable Boolean true打开,false关闭,默认关闭

18. 获取音频检测是否打开

示例
meet.getAudioActiveCheck();
说明

获取网络状态。

19. 设置网络质量是否打开

示例
meet.setNetworkStatus(enable);
参数
参数名 类型 描述
enable Boolean true打开,false关闭,默认关闭

20. 获取当前网络状态是否打开

示例
meet.getNetworkStatus();
说明

获取网络状态。

21. 设置zoom模式

示例
meet.setZoomMode(zoomMode);
参数
参数名 类型 描述
zoomMode Number 0为演讲者模式;1为画廊模式;默认演讲者模式。

22. 切换zoom模式

示例
meet.switchZoomMode(zoomMode);
参数
参数名 类型 描述
zoomMode Number 0为演讲者模式;1为画廊模式;默认演讲者模式。

23. 获取人员列表

示例
meet.getUserList();
说明

人员列表。

ValleyRenMeetKitDelegate 接口类

1. 加入会议成功

示例
meet.on('join-success', () => {});

2. 加入会议失败

示例
meet.on('join-failed', (code) => {});
参数
参数名 类型 描述
code Number 错误码,详情查看错误码

3. 远程媒体流已订阅

示例
meet.on('stream-subscribed', (peerId, pubId, userData, mediaRender) => {});
参数
参数名 类型 描述
peerId String RTC服务生成的标识Id (用于标识与会者,每次加入会议随机生成)
pubId String RTC服务生成媒体流的唯一标识ID
userData String 自定义用户数据(该加入人员的用户信息,初始化实例时携带的userData)
mediaRender String 远程视频
说明

已订阅远程媒体流,创建该媒体流的视图窗口,等待接收媒体流并展示。

4. 远程媒体流被移除

示例
meet.on('stream-unsubscribed', (peerId, pubId, userData) => {});
参数
参数名 类型 描述
peerId String RTC服务生成的标识Id (用于标识与会者,每次加入会议随机生成)
pubId String RTC服务生成媒体流的唯一标识ID
userData String 自定义用户数据(该加入人员的用户信息,初始化实例时携带的userData)
说明

远程媒体流被移除,取消订阅并移除该媒体流的视图窗口。

5. 远程屏幕共享媒体流已订阅

示例
meet.on('exstream-subscribed', (peerId, pubId, userData, mediaRender) => {});
参数
参数名 类型 描述
peerId String RTC服务生成的标识Id (用于标识与会者,每次加入会议随机生成)
pubId String RTC服务生成媒体流的唯一标识ID
userData String 自定义用户数据(该加入人员的用户信息,初始化实例时携带的userData)
mediaRender String 远程视频
说明

已订阅远程的屏幕共享媒体流,创建该媒体流的视图窗口,等待接收媒体流并展示。

6. 远程屏幕共享媒体流被移除

示例
meet.on('exstream-unsubscribed', (peerId, pubId, userData) => {});
参数
参数名 类型 描述
peerId String RTC服务生成的标识Id (用于标识与会者,每次加入会议随机生成)
pubId String RTC服务生成媒体流的唯一标识ID
userData String 自定义用户数据(该加入人员的用户信息,初始化实例时携带的userData)
说明

远程的屏幕共享媒体流被移除,取消订阅并移除该媒体流的视图窗口。

注意:一个用户(peerId)最多可以发布两路媒体流(pubId),当人员离开时,该人员发布的两路媒体流将会被移除;只有发布了主流,才能发布辅流(屏幕共享)。

7. 远程人员媒体流的音视频状态

示例
meet.on('av-status', (isRemote, pubId, audioEnable, videoEnable) => {});
参数
参数名 类型 描述
isRemote Boolean 是否是远程用户
pubId String RTC服务生成媒体流的唯一标识ID
audioEnable Boolean 音频状态;true为打开;false为打开。
videoEnable Boolean 视频状态;true为打开;false为打开。
说明

远程人员媒体流的音视频状态回调,当远程人员setLocalVideoEnablesetLocalAudioEnable时,房间其他人员将会收到此回调。

8. 音频音量大小变化

示例
meet.on('audio-volume', (isRemote, pubId, audioVolume) => {});
参数
参数名 类型 描述
isRemote Boolean 是否是远程用户
pubId String RTC服务生成媒体流的唯一标识ID
audioVolume Number 音量范围为 0 到 100 之间的整数。通常在列表中音量大于 5 的用户为持续说话的人
说明

提示房间内谁在说话以及说话者的音量。每30毫秒回调一次。

9. 网络状态变化

示例
meet.on('network-status', (isRemote, pubId, videoBytes, ValleyRenNetQulity) => {});
参数
参数名 类型 描述
isRemote Boolean 是否是远程用户
pubId String RTC服务生成媒体流的唯一标识ID
videoBytes Number 视频码率
ValleyRenNetQulity String 网络状况,根据丢包率严重分为5个等级,ValleyRenNetQualityExcellent(优)、ValleyRenNetQualityGood(良好)、ValleyRenNetQualityAccepted(一般)、ValleyRenNetQualityBad(差)、ValleyRenNetQualityVBad(极差)
说明

网络状态每一秒回调一次。

10. 共享通道被开启

示例
meet.on('share-opened', (shareType, shareInfo, userId, userData) => {});
参数
参数名 类型 描述
shareType Number 共享者设置的自定义共享通道ID
shareInfo String 共享者设置的自定义共享信息
userId String 自定义用户ID
userData String 自定义用户数据
说明

远程人员打开共享通道openShare

11. 共享通道被关闭

示例
meet.on('share-closed', () => {});
说明

远程人员关闭共享通道close-share

12. 打开共享通道结果

示例
meet.on('share-result', (isOpen) => {});
参数
参数名 类型 描述
isOpen Boolean 是否打开成功
说明

当调用openShare时,该回调将会返回打开共享通道是否成功。

13. 收到用户消息

示例
meet.on('user-message', (userId, userName, userAvatar, msgContent) => {});
参数
参数名 类型 描述
userId String 自定义用户ID(发送者userId)
userName String 自定义用户昵称(sendUserMessage携带的用户昵称)
userAvatar String 自定义用户头像(sendUserMessage携带的用户头像)
msgContent String 自定义消息内容(sendUserMessage携带的消息内容)
说明

收到房间内用户发送的实时消息,根据实时消息可以进行一些业务拓展(消息主体可以以JSON字符串的形式传出,收到消息之后进行解析),比如: 踢人等。

14. 本地图像第一帧

示例
meet.on('local-video-size', (videoWidth, videoHeight) => {});
参数
参数名 类型 描述
videoWidth Number 视频宽度
videoHeight Number 视频高度
说明

本地图像返回的第一帧,目前仅返回视频图像的大小,如果与设置的分辨率不匹配说明摄像头不支持不支持预设分辨,已切换为最佳分辨率。

15. 主持人上线 – (仅主持人模式可用)

示例
meet.on('hoster-online', (peerId, userId, userData) => {});
参数
参数名 类型 描述
peerId String RTC服务生成的标识Id (用于标识与会者,每次加入会议随机生成)
userId String 自定义用户ID(主持人的用户ID)
userData String 自定义用户数据(主持人的用户数据)
说明

说明主持人在线。该回调只有在会议模式为主持人模式时才能生效;

16. 主持人下线 – (仅主持人模式可用)

示例
meet.on('hoster-offline', (peerId) => {});
参数
参数名 类型 描述
peerId String 主持人离开 (用于标识与会者,每次加入会议随机生成)
说明

说明主持人下线。该回调只有在会议模式为主持人模式时才能生效;

17. 主持人开启1V1单聊 – (仅主持人模式可用)

示例
meet.on('talk-only-on', (peerId, userId, userData) => {});
参数
参数名 类型 描述
peerId String 主持人离开 (用于标识与会者,每次加入会议随机生成)
userId String 自定义用户ID(主持人的用户ID)
userData String 自定义用户数据(主持人的用户数据)
说明

主持人设置了1V1单聊,仅单聊双方双方的语音互通,其他禁音但是可以接收视频图像,音频会议除外。

19. 主持人结束1V1单聊 – (仅主持人模式可用)

示例
meet.on('talk-only-off', (peerId) => {});
参数
参数名 类型 描述
peerId String 主持人离开 (用于标识与会者,每次加入会议随机生成)
说明

主持人关闭了1V1单聊。

20. 获取zoom演讲者模式下的信息

示例
meet.on('zoom-info', (zoomMode, pubRender) => {});
参数
参数名 类型 描述
zoomMode Number zoom模式(0演讲者,1画廊)
pubRender Number 人数(不包括自己)
说明

获取演讲者模式下的人数信息。

21. 当前说话的演讲者

示例
meet.on('zoom-speaker', (zoomMode, pubId, zoomUserMember) => {});
参数
参数名 类型 描述
zoomMode Number zoom模式(0演讲者,1画廊)
pubId String RTC服务生成媒体流的唯一标识ID
zoomMode Number zoom模式房间人数
说明

主持人关闭了1V1单聊。

错误码对照表

以下为介绍 Web RTMeetEngine SDK 的错误码。

名称 备注
ValleyRenMeet_OK 0 正常
ValleyRenMeet_UNKNOW 1 未知错误
ValleyRenMeet_EXCEPTION 2 SDK调用异常
ValleyRenMeet_EXP_UNINIT 3 SDK未初始化
ValleyRenMeet_EXP_PARAMS_INVALIDE 4 参数非法
ValleyRenMeet_EXP_NO_NETWORK 5 没有网络链接
ValleyRenMeet_EXP_NOT_FOUND_CAMERA 6 没有找到摄像头设备
ValleyRenMeet_EXP_NO_CAMERA_PERMISSION 7 没有打开摄像头权限
ValleyRenMeet_EXP_NO_AUDIO_PERMISSION 8 没有音频录音权限
ValleyRenMeet_EXP_NOT_SUPPOAR_WEBARC 9 浏览器不支持原生的webrtc
ValleyRenMeet_NET_ERR 100 网络错误
ValleyRenMeet_NET_DISSCONNECT 101 网络断开
ValleyRenMeet_LIVE_ERR 102 直播出错
ValleyRenMeet_EXP_ERR 103 异常错误
ValleyRenMeet_EXP_UNAUTHORIZED 104 服务未授权(仅可能出现在私有云项目)
ValleyRenMeet_BAD_REQ 201 服务不支持的错误请求
ValleyRenMeet_AUTH_FAIL 202 认证失败
ValleyRenMeet_NO_USER 203 此开发者信息不存在
ValleyRenMeet_SVR_ERR 204 服务器内部错误
ValleyRenMeet_SQL_ERR 205 服务器内部数据库错误
ValleyRenMeet_ARREARS 206 账号欠费
ValleyRenMeet_LOCKED 207 账号被锁定
ValleyRenMeet_SERVER_NOT_OPEN 208 服务未开通
ValleyRenMeet_ALLOC_NO_RES 209 没有服务器资源
ValleyRenMeet_SERVER_NO_SURPPOAR 210 不支持的服务
ValleyRenMeet_FORCE_EXIT 211 强制离开
ValleyRenMeet_NOT_STAAR 700 房间未开始
ValleyRenMeet_IS_FULL 701 房间人员已满
ValleyRenMeet_NOT_COMPARE 702 房间类型不匹配