频道相关

更新时间: 2023/03/16 06:13:33

创建频道

  • signalingCreate: 该接口用于创建频道,同一时刻频道名互斥,不能重复创建。但如果频道名缺省,服务器会自动分配。对于频道在创建后如果没人加入,有效期2小时,当有成员加入后会自动延续频道有效期。当主动关闭频道或者最后一个成员退出后2小时后频道销毁。

  • 示例代码

javascript  var param = {
    type: 1, // 必填字段 通话类型,1:音频;2:视频;3:其他
    channelName: 'channel name', // 频道别名
    ext: ''
  }
  nim.signalingCreate(param).then(data=>{
    console.warn("独立呼叫信令,创建频道成功,data:", data)
  }).catch(error=>{
    console.warn("独立呼叫信令,创建频道失败,error:", error)
    if (error.code == 10405) {
      console.warn("独立呼叫信令:频道已存在,请勿重复创建");
    }
  })
  • 参数说明
param 类型 说明
type number 通话类型,1:音频;2:视频;3:其他
channelName string 频道名,可缺省(缺省的话,服务器会生成一个),长度限制:128 字符
ext string 频道的自定义扩展信息,可缺省,长度限制:4096 字符
error结果说明 类型 说明
code number 错误码 10405表示频道已经存在
data结果说明 类型 说明
code number 错误码 200表示频道创建成功
channelInfo number 频道信息
channelInfo说明 类型 说明
ext string 创建频道时传入的扩展字段
channelId string 服务器生成的频道id
channelName string 创建时传入的频道名
type number 创建频道时传入的通话类型,1:音频;2:视频;3:其他
createTimestamp number 频道创建时间点
expireTimestamp number 频道失效时间点
creatorId number 频道创建者的account
invalid number 频道是否有效

关闭频道

  • signalingClose 该接口可以由创建者和频道内所有成员调用,无权限限制。调用该接口成功后,其他所有频道内的成员都会收到频道结束的通知,被动离开频道。此时其他成员不需要调用离开接口,也不会收到别人的离开通知。

  • 示例代码

javascript  var param = {
    channelId: '2ed4a942417e4b33949f1b65739f3f00',
    offlineEnabled: true,
    ext: ''
  }
  nim.signalingClose(param).then(data=>{
    console.warn("独立呼叫信令,关闭频道成功,data:", data)
  }).catch(error=>{
    console.warn("独立呼叫信令,关闭频道失败,error:", error)
    if (error.code == 10406) {
      console.warn("独立呼叫信令:你不在频道内,无法关闭");
    }
  })
  • 参数说明
param 类型 说明
channelId string 对应的频道id
offlineEnabled boolean 是否存离线通知
ext string 操作者附加的自定义信息,透传给其他人,可缺省
error结果说明 类型 说明
code number 错误码 10406表示频道已经存在
data结果说明 类型 说明
channelId string 对应的频道id
offlineEnabled boolean 是否存离线通知
ext string 操作者附加的自定义信息,透传给其他人,可缺省

加入频道

signalingJoin 该接口用于自己加入频道,频道创建者也需要通过该接口加入到频道中,频道中的其他人会收到该账号加入频道的通知。

频道成员人数上限 100 人。

  • 示例代码
javascriptvar param = {
    channelId: '2ed4a942417e4b33949f1b65739f3f00',
    offlineEnabled: false,
    attachExt: '',
    uid: 132
  }
nim.signalingJoin(param).then(data=>{
    console.warn("独立呼叫信令,加入频道成功,data:", data)
  }).catch(error=>{
    console.warn("独立呼叫信令,加入频道失败,error:", error)
    switch (error.code) {
      case 10407:
        console.warn("独立呼叫信令:已经在频道内")
        break
      case 10419:
        console.warn("独立呼叫信令:频道人数超限")
        break
      case 10417:
        console.warn("独立呼叫信令:频道成员uid冲突了")
        break
      case 10420:
        console.warn("独立呼叫信令:该账号,在其他端已经登录,并且已经在频道内")
        break
      case 10404:
        console.warn("独立呼叫信令:频道不存在")
        break
    }
  })
  • 参数说明
param  类型   说明
channelId string 对应的频道id
uid number 自己在频道中对应的uid,大于零有效,无效时服务器会分配随机唯一的uid
offlineEnabled boolean 是否存离线通知
attachExt string 操作者附加的自定义信息,透传给其他人,可缺省
nertcChannelName string 云信G2-RTC的房间名
nertcTokenTtl string 云信G2-RTC的token的有效期,表示token的过期时间,单位秒,选填,默认10分钟
nertcJoinRoomQueryParamMap string 云信G2-RTC加入房间的请求参数,可以转成json
error结果说明 类型 说明
code number 错误码 10407表示已经在频道内 10419表示频道人数已满 10417表示频道内成员的uid有冲突 10420表示该账号,在其他端已经登录,并且已经在频道内 10404表示频道不存在
data结果说明 类型 说明
channelInfo object 频道信息,创建频道接口中有说明格式
members array 频道里的成员列表,数组元素member是一个object,描述了成员信息
members数组中member元素说明 类型 说明
account string 成员account账号
uid string 该成员在频道中对应的uid
createTimestamp number 频道创建时间点
expireTimestamp number 频道失效时间点

离开频道

  • signalingLeave 该接口用于自己退出频道,但不对频道进行销毁,频道中的其他人会收到该账号离开频道的通知

  • 示例代码

javascriptvar param = {
    channelId: '2ed4a942417e4b33949f1b65739f3f00',
    offlineEnabled: true,
    attachExt: ''
  }
nim.signalingLeave(param).then(data=>{
    console.warn("独立呼叫信令,离开频道成功,data:", data)
  }).catch(error=>{
    console.warn("独立呼叫信令,离开频道失败,error:", error)
    if (error.code == 10406) {
      console.warn("独立呼叫信令:不在频道内");
    } 
  })
  • 参数说明
param 类型 说明
channelId string 对应的频道id
offlineEnabled boolean 是否存离线通知
attachExt string 操作者附加的自定义信息,透传给其他人,可缺省
error结果说明 类型 说明
code number 错误码 10406表示你不在频道中
data结果说明 类型 说明
channelId string 对应的频道id
offlineEnabled boolean 是否存离线通知
attachExt string 操作者附加的自定义信息,透传给其他人,可缺省

查询频道信息

  • nim v6.5.0版本以上

  • API 介绍 调用signalingGetChannelInfo方法可根据频道名称查询频道里的用户信息。

  • 示例

javascript// 被叫接受的通知
nim.signalingGetChannelInfo({
    channelName:'频道name'
}).then(function(data){
    console.log(data)
});

此文档是否对你有帮助?
有帮助
去反馈
  • 创建频道
  • 关闭频道
  • 加入频道
  • 离开频道
  • 查询频道信息