# 频道操作
# 加入频道
使用Promise (opens new window) Manis.join(channel, nickname)
加入到频道,
接收两个参数,
channel
和nickname
, 返回一个Promise对象实例
名称 | 类型 | 说明 | 备注 |
---|---|---|---|
channel | string (opens new window) | 需要加入的频道ID | 通过服务端接口获取得到 |
nickname | string (opens new window) | 加入频道后显示的用户昵称 |
示例:
let channel = '00001'
let nickname = '参会者_xxx'
Manis.join(channel, nickname).then(res => {
console.log('joinSuccess: ', res)
// @TODO 加入频道成功之后应立即注册监听事件, 如果室加入到一个已经有用户的频道, 则会返回频道中已有的流媒体信息
if (res.remoteStreams && res.remoteStreams.length) {
for (let i = 0; i < res.remoteStreams.length; i++) {
let remoteStream = res.remoteStreams[i]
_this.subscribe(remoteStream) // 使用该媒体信息,调用订阅方法订阅频道中的流媒体
}
}
}).catch(err => {
console.log('joinFailed: ', err)
})
注意: 在调用加入频道返回成功之后,应立即订阅事件,以备即时收到频道内的事件推送。也可以在初始化完成之后就完成事件订阅
# 离开频道
使用Promise (opens new window) Manis.leave()
离开频道,
返回一个Promise对象实例
示例:
Manis.leave().then(res => {
// @TODO 销毁页面渲染的媒体标签,释放资源
}).catch(err => {
console.error('leaveChannelFailed: ', err)
})
# 推送本地流媒体
使用Promise (opens new window)Manis.createMicrophoneAndCameraTracks()
构建本地基于摄像头和麦克风的流媒体资源,
接收媒体资源信息
remoteStream
和可选参数订阅选项subscribeOptions
,返回一个Promise对象实例
名称 | 类型 | 说明 | 备注 |
---|---|---|---|
localStream | Object (opens new window) | 本地流媒体资源 |
示例:
/*将构建的本地流媒体推送到频道*/
Manis.publish(localStream).then(resp => {
console.log('handleLocalStreamPublished: ', resp)
}).catch(error => {
console.error('handleLocalStreamPublishFailed: ', error)
})
# 停止推送本地流
使用Promise (opens new window)Manis.unPublish()
停止推送本地流媒体,
返回一个Promise对象实例
示例:
/*停止推送本地流媒体*/
Manis.unPublish().then(res => {
console.log('handle unpublish response: ', res)
}).catch(err => {
console.log('handle unpublish failed: ', err)
})