
# 房间功能
 #### joinRoom
```
public abstract int joinRoom(HRTCJoinParam joinParam);
```
【**功能说明**】
加入房间。
【**请求参数**】
joinParam：入会参数，具体请参见[HRTCJoinParam](https://support.huaweicloud.com/csdk-rtc/rtc_05_0037.html#rtc_05_0037__section1565345782011)。
【**返回参数** 】
- 0：成功。
- 1：失败。
- 2：上下文为空。
 
【**注意事项**】
![](https://support.huaweicloud.com/csdk-rtc/public_sys-resources/caution_3.0-zh-cn.png)
该方法将会触发以下回调：
- [onConnectionStateChangedNotify](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section831212944514)：连接状态发送改变。
- [onJoinRoomSuccess](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section84321514145618)：加入房间成功时回调。
- [onJoinRoomFailure](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section846094795711): 加入房间失败时回调。
- [onRemoteUserOnline](https://support.huaweicloud.com/csdk-rtc/rtc_05_0034.html#rtc_05_0034__section18158246105914)：加入房间成功后，通知房间内已加入用户的回调，不包括自己。
 
 #### leaveRoom
```
public abstract int leaveRoom()
```
【**功能说明**】
离开房间。
【**请求参数**】
无
【**返回参数** 】
- 0：成功。
- \>0：失败。具体请参见[客户端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0035.html)。
 
![](https://support.huaweicloud.com/csdk-rtc/public_sys-resources/caution_3.0-zh-cn.png)
会触发以下回调：
- [onLeaveRoom](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section389734165813)：离开房间回调。
- [onConnectionStateChangedNotify](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section831212944514)：连接状态改变回调。
 
 #### renewAuthorization
```
public abstract int renewAuthorization(String signature, long ctime);
```
【**功能说明**】
鉴权签名过期，收到[onAuthorizationExpired](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section11369152515524)回调后更新鉴权签名。
【**请求参数**】
- signature：鉴权签名字符串。
- ctime：过期时间，单位：秒。
【**返回参数**】
- 0：成功。
- \> 0：失败。具体请参见[客户端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0035.html)。
 
 #### getRoomId
```
public abstract String getRoomId();
```
【**功能说明**】
获取当前房间的roomId。
【**请求参数**】
无
【**返回参数**】
String roomId：当前房间的roomId。
 #### changeUserRole
```
public abstract int changeUserRole(HRTCRoleType role, String authorization, long ctime);
```
【**功能说明**】
设置本端用户在房间内的角色。
【**请求参数**】
- role：用户角色，具体请参见[HRTCRoleType](https://support.huaweicloud.com/csdk-rtc/rtc_05_0037.html#rtc_05_0037__section1130451518425)。
- authorization：预留参数，填null。
- ctime：预留参数，填0。
【**返回参数** 】
- 0：成功。
- \>0：失败。具体请参见[客户端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0035.html)。
 
![](https://support.huaweicloud.com/csdk-rtc/public_sys-resources/caution_3.0-zh-cn.png)
支持joiner，player角色间相互切换。
- 切换成功将触发[onUserRoleChangedNotify](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section9263123615018)回调。
- 切换失败将触发[onError](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section1196193919554)回调，返回错误码"HRTC_ERR_CODE_USER_ROLE_CHANGE_FAIL"。
 
 #### changeUserName
```
public abstract int changeUserName(String usrName);
```
【**功能说明**】
修改用户昵称。
【**请求参数**】
usrName：用户新的昵称。昵称不为空，且最大不超过256。
【**返回参数** 】
- 0：成功。
- \>0：失败。具体请参见[客户端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0035.html)。
 
![](https://support.huaweicloud.com/csdk-rtc/public_sys-resources/caution_3.0-zh-cn.png)
修改成功后，本端会回调[onUserNameChangedNotify](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section7142105118228)事件，远端会回调[onRemoteUserNameChangedNotify](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section262654162219)事件。
