RTC 客户端类。
destroy
说明:销毁客户端对象。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
// 销毁客户端对象
client.destroy(() => {
}, () => {
});
setParameters
说明:配置 SDK 提供技术预览或特别定制功能。
注意事项
- 如果配置了私有云服务(ConfPriCloudAddr), 默认的事件上报服务(ConfPriEventAddr)会不生效,如果需要事件上报服务,请配置 ConfPriEventAddr ;
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
ConfPriCloudAddr | Object | 否 | ---- | 配置私有云服务,参数详见下方 ConfPriCloudAddr。 |
ConfPriCloudAddr
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
ServerAdd | String | 是 | ---- | 私有云服务域名或ip。 |
Port | Number | 是 | ---- | 私有云服务端口号。 |
Wss | Boolean | 是 | ---- | 是否启用https。 |
示例:
client.setParameters({
ConfPriCloudAddr: {
ServerAdd: "x.x.x.x",
Port: 6080,
Wss: false,
},
});
init
说明:初始化客户端对象。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
appId | String | 是 | ---- | 项目的 App ID。 |
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
// 初始化
client.init(appId, () => {
}, () => {
});
join
说明:加入频道。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
token | String | 否 | ---- | 在 app 服务器端生成的用于鉴权的 Token。 |
channel | String | 是 | ---- | 频道名,能标识直播频道的字符串。 |
uid | String | 否 | ---- | 建议设置长度1~48,确保uid符合规则,并保证唯一性。如果不填或设置为nil,SDK 会自动分配一个。 - 26 个小写英文字母 a-z - 26 个大写英文字母 A-Z - 10 个数字 0-9 |
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
// 加入频道
client.join(undefined, "123456", Math.ceil(Math.random()*Math.pow(10, 6)), (uid) => {
}, () => {
});
leave
说明:退出频道。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
// 退出频道
client.leave(() => {
}, () => {
});
mute
说明:停止接收远端用户的音视频流。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
uid | String | 是 | ---- | 远端用户的 ID。 |
target | String | 是 | ---- | 选择停止接收哪一种流,详见target |
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
target
参数 | 描述 |
---|---|
audio | 本地用户发送的音频流,即声音。 |
video | 本地用户发送的视频流,即视频画面。 |
all | 本地用户发送的音视频流,即声音和视频画面。 |
示例
// 停止发送本地用户的音视频流
client.mute(uid, target, () => {
}, () => {
});
muteLocal
说明:停止发送本地用户的音视频流。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
target | String | 是 | ---- | 选择停止接收哪一种流,详见target |
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
// 停止发送本地用户的音视频流
client.muteLocal(target, () => {
}, () => {
});
off
说明:取消监听流事件。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
event | String | 是 | ---- | 想要取消监听的流事件。客户端事件的名称。事件列表请参考 ClientEvents 中的属性名。 |
callback | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
// 监听远程用户发布媒体流
client.off('stream-added', function (evt) {
// 获取用户id(ES6解构)
const { uid } = evt;
// Your code.
});
on
说明:在 client 实例上添加 listener 函数到名为 eventName 的事件。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
event | String | 是 | ---- | 想要取消监听的流事件。客户端事件的名称。事件列表请参考 ClientEvents 中的属性名。 |
callback | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
// 监听远程用户发布媒体流
client.on('stream-added', function (evt) {
// 获取用户id(ES6解构)
const { uid } = evt;
// Your code.
});
publish
说明:发布本地音视频流。
注意事项
- 本方法需要结合 live-pusher 组件一起使用,详情请参考 微信官方文档。
- 用户端调用该 API 的用户即默认为主播。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
onSuccess | Function | 是 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
// 发布本地音视频流
client.publish((url) => {
// 拿到推流地址,传入 live-pusher 组件进行推流
}, () => {
});
setRole
说明:设置用户角色。
注意事项
- 如果在主播已 publish 的状态下调用该方法将用户角色设置为 audience,会导致之前的推流地址无效。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
role | String | 否 | 'broadcaster' | 用户角色,详见role |
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
role
参数 | 描述 |
---|---|
broadcaster | (默认) 将用户角色设置为主播。主播可以调用 publish 和 unpublish 方法。 |
audience | 将用户角色设置为观众。观众不能调用 publish 和 unpublish 方法。 |
示例
client.setRole("audience", () => {
}, () => {
});
subscribe
说明:订阅远端音视频流。
注意事项
- 订阅成功将拉流地址传入 live-player 组件进行拉流,组件mode需要设置为 rtc。 详情请参考 微信官方文档。
- 收到 stream-added 回调之后,可以选择是否订阅该用户的音视频。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
uid | String | 是 | ---- | 要订阅的远端用户 ID。 |
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
client.subscribe(uid, (url) => {
// 订阅成功将拉流地址传入 live-player 组件进行拉流
}, () => {
});
unmute
说明:恢复接收远端用户的音视频流。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
uid | String | 是 | ---- | 远端用户 ID。 |
target | String | 是 | ---- | 选择停止接收哪一种流,详见target |
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
// 恢复接收远端用户的音视频流
client.unmute(uid , target, () => {
}, () => {
});
unmuteLocal
说明:恢复发送本地用户的音视频流。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
target | String | 是 | ---- | 选择停止接收哪一种流,详见target |
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
// 恢复接收远端用户的音视频流
client.unmuteLocal(target, () => {
}, () => {
});
unpublish
说明:停止发布本地音视频流。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
client.unpublish(() => {
}, () => {
});
unsubscribe
说明:停止订阅远端音视频流。
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
uid | String | 是 | ---- | 要停止订阅的远端用户 ID。 |
onSuccess | Function | 否 | ---- | 方法调用成功时执行的回调函数。 |
onFailure | Function | 否 | ---- | 方法调用失败时执行的回调函数。返回值为错误码和错误信息。 |
示例
client.unsubscribe(uid, () => {
}, () => {
});