joinChannel abstract method

Future<int> joinChannel(
  1. String? token,
  2. String channelName,
  3. int uid, [
  4. NERtcJoinChannelOptions? channelOptions,
])

加入音视频房间。

调用时机

请在初始化后调用该方法。

说明

加入音视频房间时,如果指定房间尚未创建,云信服务器内部会自动创建一个同名房间。

SDK 加入房间后,同一个房间内的用户可以互相通话,多个用户加入同一个房间,可以群聊。使用不同 App Key 的 App 之间不能互通。

用户成功加入房间后,默认订阅房间内所有其他用户的音频流,可能会因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。

直播场景中,观众角色可以通过 switchChannel 切换房间。

参数说明

token 安全认证签名(NERTC Token)。可设置为:

  • null。调试模式下可设置为 null。安全性不高,建议在产品正式上线前在云信控制台中将鉴权方式恢复为默认的安全模式。

  • 已获取的NERTC Token。安全模式下必须设置为获取到的 Token 。若未传入正确的 Token 将无法进入房间。推荐使用安全模式。

channelName 房间名称,设置相同房间名称的用户会进入同一个通话房间。

  • 字符串格式,长度为 1~64 字节。

  • 支持以下89个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~”

uid 用户的唯一标识 id,房间内每个用户的 uid 必须是唯一的。 uid 可选,默认为 0。如果不指定(即设为 0),SDK 会自动分配一个随机 uid,并在 NERtcChannelEventCallback.onJoinChannel 回调方法中返回,App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。

channelOptions加入房间时设置一些特定的房间参数。默认值为 null。

相关回调

成功调用该方加入房间后,本地会触发 NERtcChannelEventCallback.onJoinChannel 回调,远端会触发 NERtcChannelEventCallback.onUserJoined 回调。

返回值

  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30001(errorFatal):重复入会或获取房间信息失败。
    • 30003(invalidParam):参数错误,比如传入的 channelName 不符合要求。
    • 30005(invalidState):状态错误,比如引擎尚未初始化或正在进行网络探测。

Implementation

Future<int> joinChannel(String? token, String channelName, int uid,
    [NERtcJoinChannelOptions? channelOptions]);