setUserVisibility method

Future<int?> setUserVisibility(
  1. bool enable
)

@detail api @brief 设置用户可见性。未调用该接口前,本地用户默认对他人可见。
默认情况下,一个 RTC 房间最多同时容纳 50 名可见用户,最多 30 人可同时上麦。更多信息参看用户和媒体流上限。 @param enable 设置用户是否对房间内其他用户可见:
- true: 可见,用户可以在房间内发布音视频流,房间中的其他用户将收到用户的行为通知,例如进房、开启视频采集和退房。 - false: 不可见,用户不可以在房间内发布音视频流,房间中的其他用户不会收到用户的行为通知,例如进房、开启视频采集和退房。 @return - 0: 调用成功。 - < 0: 调用失败。参看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明。 设置用户可见性,会收到设置成功/失败回调 onUserVisibilityChanged{@link #IRTCRoomEventHandler#onUserVisibilityChanged}。(v3.54 新增) - 在加入房间前设置用户可见性,若设置的可见性与默认值不同,将在加入房间时触发本回调。 - 在加入房间后设置用户可见性,若可见性前后不同,会触发本回调。 - 在断网重连后,若可见性发生改变,会触发本回调。 @note - 在加入房间前后,用户均可调用此方法设置用户可见性。 - 在房间内,调用此方法成功切换用户可见性后,房间内其他用户会收到相应的回调。 - 从可见换至不可见时,房间内其他用户会收到 onUserLeave{@link #IRTCRoomEventHandler#onUserLeave}。 - 从不可见切换至可见时,房间内其他用户会收到 onUserJoined{@link #IRTCRoomEventHandler#onUserJoined}。 - 若调用该方法将可见性设为 false,此时尝试发布流会收到 WARNING_CODE_PUBLISH_STREAM_FORBIDEN 警告。

Implementation

Future<int?> setUserVisibility(bool enable) async {
  $a() => ($instance as $p_a.RTCRoom).setUserVisibility(enable);
  $i() => ($instance as $p_i.ByteRTCRoom).setUserVisibility(enable);

  if (Platform.isAndroid) {
    return $a();
  } else if (Platform.isIOS) {
    return $i();
  } else {
    throw UnsupportedError(
        'Not Support Platform ${Platform.operatingSystem}');
  }
}