视音频通信

产品文档

视音频通信

帮助中心 > 产品文档 > 视音频通信 > 微信小程序 JRTC 接口说明

import JRTCMiniappClient from '../lib/jrtc-miniapp.min'

1.Methods 

init(JRTCMiniappInitParams)

const jrtcMiniapp = JRTCMiniappClient.init(JRTCMiniappInitParams:{ appId, pushDomain, pullDomain }); 参数:JRTCMiniappInitParams
返回: JRTCMiniapp实例
JRTCMiniappInitParams: 

参数 类型 说明
appId string appId
pushDomain string 推流域名
pullDomain string 拉流域名

joinRoom(enterRoomInfo)

JRTCMiniappClient.joinRoom(enterRoomInfo); 说明:进入房间成功, 会返回一个ROOM对象:JRTCMiniAppRoom
参数:enterRoomInfo,说明如下:

参数 类型 是否必填 说明
appId string Y 应用ID,控制台获取
token string Y 用户生成token,生成方式参见XXXX取
userId string or number Y 用户Id
role number Y 用户角色类型: 1-主播 2-观众
nonce string Y 令牌随机码,用户生成
timeStamp string Y 令牌过期时间,用户生成
userRoomId string or number Y 用户房间Id
peerId string N peerId
nickname string N 用户昵称

setRole(roleType)

jrtcMiniapp.setRole(roleType)
说明:设置用户角色
参数: roleType
返回:code、data和reason
roleType参数,说明如下: 

参数 类型 是否必填 说明
roleType number Y 用户角色类型:1 - 主播, 2 - 观众

返回值说明: 

返回值 类型 说明
code number 状态码
data object publishUrl - 推流地址
pullUrl - 拉流地址
role - 用户角色
reason string 捕获到异常时返回

publish()

jrtcMiniapp.publish()
说明:发布本地音频流
参数: 无
返回:code、url和reason

返回值说明: 

返回值 类型 说明
code number 状态码
url string 推流地址
reason string 捕获到异常时返回

subscribe()

jrtcMiniapp.subscribe()
说明:订阅远端音频流
参数: 无
返回:code、url和reason

返回值说明: 

返回值 类型 说明
code number 状态码
url string 拉流地址
reason string 捕获到异常时返回

getBroadcasterList()

jrtcMiniapp.getBroadcasterList()
说明:获取房间主播列表
参数: 无
返回:code、data和reason

返回值说明: 

返回值 类型 说明
code number 状态码
data array 主播列表[item]:
hasAudio: 是否存在音频
nickName: 主播昵称
userId: 用户Id
roomId: JRTC房间Id,由用户的appId和userRoomId生成的房间Id
reason string 捕获到异常时返回

getAudienceList()

jrtcMiniapp.getAudienceList()
说明:获取房间观众列表
参数: 无
返回:code、data和reason

返回值说明: 

返回值 类型 说明
code number 状态码
data array 观众列表[item]:
nickName: 主播昵称
userId: 用户Id
roomId: JRTC房间Id,由用户的appId和userRoomId生成的房间Id
reason string 捕获到异常时返回

getRoomMemberCount()

jrtcMiniapp.getRoomMemberCount()
说明:获取房间成员数
参数: 无
返回:code、data和reason

返回值说明: 

返回值 类型 说明
code number 状态码
data object total: 总人数
broadcasterCount: 主播人数
audienceCount: 观众人数
reason string 捕获到异常时返回

customSignalToRoom(appData)

jrtcMiniapp.customSignalToRoom(appData)
说明:用户自定义信令,全局会控相关,如全局静音、取消全局静音等
参数:appData
返回:code、data和reason

appData参数,说明如下: 

参数 类型 是否必填 说明
appData object Y customEventName[string]:必填,用户自定义事件名称
data[object]:选填,用户自定义传输数据

返回值说明: 

返回值 类型 说明
code number 状态码
data object eventName: 自定义信令名称
nickName: 用户昵称
userId: 用户userId
data[object]: 用户自定义传输数据, 无传参时,返回空对象
reason string 捕获到异常时返回

customSignalToPeer(customSignalToPeer)

jrtcMiniapp.customSignalToPeer(customSignalToPeer)
说明:用户自定义信令,指定会控相关,如指定用户静音、取消指定用户静音
参数:customSignalToPeer
返回:code、data和reason

customSignalToPeer参数,说明如下: 

参数 类型 是否必填 说明
targetUserId string or number Y 指定用户Id
customData object Y customEventName[string]:必填,用户自定义事件名称
data[object]:选填,用户自定义传输数据

返回值说明: 

返回值 类型 说明
code number 状态码
data object eventName: 自定义信令名称
nickName: 用户昵称
userId: 用户Id
data[object]: 用户自定义传输数据, 无传参时,返回空对象
reason string 捕获到异常时返回

leaveRoom()

jrtcMiniapp.leaveRoom()
说明:退出房间
参数: 无
返回:code、data和reason

返回值说明: 

返回值 类型 说明
code number 状态码
data string 空字符串
reason string 捕获到异常时返回

destroy()

jrtcMiniapp.destroy()
说明:销毁客户端对象
参数: 无
返回:无

2.消息监听

UserJoinedRoom

jrtcMiniapp.on('UserJoinedRoom', (data) => {
 // data: 监听事件所传递的数据
 // 监听到用户进入房间后,do something
});

说明:用户加入房间

UserLeavedRoom

jrtcMiniapp.on('UserLeavedRoom', (data) => {
 // data: 监听事件所传递的数据
 // 监听到用户离开房间后,do something
});

说明:用户离开房间

UserModifyRole

jrtcMiniapp.on('UserModifyRole', (data) => {
 // data: 监听事件所传递的数据
 // 监听到用户设置角色后,do something
});

说明:用户设置角色

StreamPublished

jrtcMiniapp.on('StreamPublished', (data) => {
 // data: 监听事件所传递的数据
 // 监听到用户发布音频流后,do something
});

说明:有用户发布音频流

StreamUnpublished

jrtcMiniapp.on('StreamUnpublished', (data) => {
 // data: 监听事件所传递的数据
 // 监听到用户发布音频流后,do something
});

说明:有用户取消发布音频流

AudioVolumes

jrtcMiniapp.on('AudioVolumes', (data) => {
 // data: 监听事件所传递的数据
 // 监听到用户有音量变化后,do something
});

说明:用户有音量变化

GlobalMute

jrtcMiniapp.on('GlobalMute', (data) => {
 // data: 监听事件所传递的数据
 // 监听到全局静音后,do something
});

说明:设置全局静音

CancelGlobalMute

jrtcMiniapp.on('CancelGlobalMute', (data) => {
 // data: 监听事件所传递的数据
 // 监听到取消全局静音后,do something
});

说明:取消全局静音

AssignPeerMute

jrtcMiniapp.on('AssignPeerMute', (data) => {
 // data: 监听事件所传递的数据
 // 监听到指定用户静音后,do something
});

说明:指定用户静音

CancelAssignPeerMute

jrtcMiniapp.on('CancelAssignPeerMute', (data) => {
 // data: 监听事件所传递的数据
 // 监听到取消指定用户静音后,do something
});

说明:取消指定用户静音

3.错误监听

jrtcMiniapp.on('onError', err => {})
说明:错误事件,返回 { code: XXX, reason: XXXX}
错误信息参考:

code reason 说明
401  UNAUTHORIZED 无权操作
430 BAD_REQUEST 请求异常
431 ARGUMENT_INVALIDATE 参数错误
439 REPEAT_SUBMISSION 重复提交
500 INTERNAL 内部错误
503 NOT_FOUND 找不到对象
903 request timeout 发送消息超时
1005 websocket connect failed 连接错误,服务断开
1006 websocket is disconnected 服务断开
1007 transport close 连接关闭
1e4 UNKNOWN 未知错误
更新时间:2021-09-29 15:11:22
文档反馈 docs feedback