房间语音通话
更新时间:
本文主要介绍 云上曲率RTC SDK的提供的房间语音通话功能。
功能描述
房间语音通话是指2个及2个以上的用户通过房间开展群体语音通话的场景。云上曲率RTC SDK为开发者提供如下房间语音通话基础内容:
- 创建RTC房间
- 加入RTC房间
- 设置活跃RTC房间
- 邀请加入RTC房间
- 退出RTC房间
- 获取RTC房间成员列表
- 获取RTC房间成员数量
- 屏蔽/解除屏蔽房间用户语音
接口说明
房间事件变更通知
房间管理功能中,当出现房间成员变更、房间解散时,会接收到服务端的通知PUSH。
创建RTC房间
通过createRTCRoom
接口,用户可以创建RTC房间。创建成功后,会自动加入到房间中。
接口参数说明:
参数
含义
说明
roomId
房间ID
创建的RTC房间ID
roomType
房间类型
1-语音房间 2-视频房间 3-实时语音翻译房间
lang
语言
roomType
为3时必传
代码示例
public void createRTCRoom(long roomId, RTCStruct.RTCRoomType roomType, String lang, IEmptyCallback callback)
加入房间
用户可以使用enterRTCRoom
接口实现加入已存在的RTC房间。
接口参数说明:
参数
含义
说明
roomId
房间ID
用户待加入的RTC房间ID
lang
语言
roomType
为3时必传
注意:房间当前默认为开放式房间,任何人都可以直接加入。
在云上曲率控制台有一个配置 “支持多房间” :
- 设置 “是”,那么用户可以加入多个房间,但同时需要设置活跃房间,并接收活跃房间的声音和在活跃房间通话。如果没有设置活跃房间,则不会接收任何房间的声音。
- 设置 “否”,那么用户同一时间只能加入一个房间,接收该房间的声音和在该房间进行通话。
- 设置活跃房间只针对实时语音房间有效。
示例代码
public void enterRTCRoom(long roomId, String lang, ICallback<RTCStruct.RTCRoomInfo> callback)
public LDAnswer setActivityRoom(long roomId)//设置活跃房间
邀请加入房间
用户可以使用inviteUserIntoRTCRoom
接口实现邀请其他用户加入该用户已加入的RTC房间。
接口参数说明:
参数
含义
说明
roomId
房间ID
邀请用户加入的RTC房间ID
uids
用户ID
邀请加入RTC房间的用户ID
当接收到邀请时,房间外用户会接收到IRTCPushProcessor
处理的 pushInviteIntoRTCRoom
的推送消息,如果用户同意,需要调用enterRTCRoom
接口进入房间。
pushInviteIntoRTCRoom
接口参数说明:
参数
含义
说明
roomId
房间ID
邀请加入的房间ID
userId
用户ID
发起邀请的用户ID
示例代码
public void inviteUserIntoRTCRoom(long roomId, HashSet<Long> uids, IEmptyCallback callback)
public interface IRTCPushProcessor {
default void pushInviteIntoRTCRoom(long roomId, long userId){}
}
退出RTC房间
用户可以通过leaveRTCRoom
接口退出已加入的RTC房间。
接口参数说明:
参数
含义
说明
roomId
房间ID
要退出的RTC房间ID
代码示例
public void leaveRTCRoom(long roomId, IEmptyCallback callback)
获取RTC房间成员列表
RTC房间内成员可以使用getRTCRoomMembers
接口获取所在RTC房间的成员情况,包括成员数量等。
接口参数说明:
参数
含义
说明
roomId
房间ID
获取房间成员请求的RTC房间ID
代码示例
public void getRTCRoomMembers(long roomId, ICallback<RTCStruct.RTCRoomInfo> callback)
获取RTC房间成员数量
未加入RTC房间的用户可以使用getRTCRoomMemberCount
接口获取RTC房间的成员数量。
接口参数说明:
参数
含义
说明
roomId
房间ID
获取房间成员数量的RTC房间ID
代码示例
public void getRTCRoomMemberCount(long roomId, ICallback<Integer> callback)
屏蔽RTC房间中用户语音
blockUserInVoiceRoom
接口可以屏蔽掉RTC房间内容用户的语音。屏蔽后,该用户的语音不会被房间内其他用户接收到。
接口参数说明:
参数
含义
说明
roomId
房间ID
要屏蔽用户语音的RTC房间ID
uids
用户ID
屏蔽的用户ID
代码示例
public void blockUserInVoiceRoom(long roomId, HashSet<Long> uids,IEmptyCallback callback)
解除屏蔽RTC房间中用户语音
unblockUserInVoiceRoom
接口可以解除屏蔽RTC房间内容用户的语音。解除屏蔽后,该用户的语音可以被房间内其他用户接收到。
接口参数说明:
参数
含义
说明
roomId
房间ID
要解除屏蔽用户语音的RTC房间ID
uids
用户ID
解除屏蔽的用户ID
代码示例
public void unblockUserInVoiceRoom(long roomId, HashSet<Long> uids, IEmptyCallback callback)
本文主要介绍 云上曲率RTC SDK的提供的房间语音通话功能。
功能描述
房间语音通话是指2个及2个以上的用户通过房间开展群体语音通话的场景。云上曲率RTC SDK为开发者提供如下房间语音通话基础内容:
- 创建RTC房间
- 加入RTC房间
- 设置活跃RTC房间
- 邀请加入RTC房间
- 退出RTC房间
- 获取RTC房间成员列表
- 获取RTC房间成员数量
- 屏蔽/解除屏蔽房间用户语音
接口说明
房间事件变更通知
房间管理功能中,当出现房间成员变更、房间解散时,会接收到服务端的通知PUSH。
创建RTC房间
通过createRTCRoom
接口,用户可以创建RTC房间。创建成功后,会自动加入到房间中。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
roomId | 房间ID | 创建的RTC房间ID |
roomType | 房间类型 | 1-语音房间 2-视频房间 3-实时语音翻译房间 |
lang | 语言 | roomType 为3时必传 |
代码示例
public void createRTCRoom(long roomId, RTCStruct.RTCRoomType roomType, String lang, IEmptyCallback callback)
加入房间
用户可以使用enterRTCRoom
接口实现加入已存在的RTC房间。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
roomId | 房间ID | 用户待加入的RTC房间ID |
lang | 语言 | roomType 为3时必传 |
注意:房间当前默认为开放式房间,任何人都可以直接加入。
在云上曲率控制台有一个配置 “支持多房间” :
- 设置 “是”,那么用户可以加入多个房间,但同时需要设置活跃房间,并接收活跃房间的声音和在活跃房间通话。如果没有设置活跃房间,则不会接收任何房间的声音。
- 设置 “否”,那么用户同一时间只能加入一个房间,接收该房间的声音和在该房间进行通话。
- 设置活跃房间只针对实时语音房间有效。
示例代码
public void enterRTCRoom(long roomId, String lang, ICallback<RTCStruct.RTCRoomInfo> callback)
public LDAnswer setActivityRoom(long roomId)//设置活跃房间
邀请加入房间
用户可以使用inviteUserIntoRTCRoom
接口实现邀请其他用户加入该用户已加入的RTC房间。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
roomId | 房间ID | 邀请用户加入的RTC房间ID |
uids | 用户ID | 邀请加入RTC房间的用户ID |
当接收到邀请时,房间外用户会接收到IRTCPushProcessor
处理的 pushInviteIntoRTCRoom
的推送消息,如果用户同意,需要调用enterRTCRoom
接口进入房间。
pushInviteIntoRTCRoom
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
roomId | 房间ID | 邀请加入的房间ID |
userId | 用户ID | 发起邀请的用户ID |
示例代码
public void inviteUserIntoRTCRoom(long roomId, HashSet<Long> uids, IEmptyCallback callback)
public interface IRTCPushProcessor {
default void pushInviteIntoRTCRoom(long roomId, long userId){}
}
退出RTC房间
用户可以通过leaveRTCRoom
接口退出已加入的RTC房间。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
roomId | 房间ID | 要退出的RTC房间ID |
代码示例
public void leaveRTCRoom(long roomId, IEmptyCallback callback)
获取RTC房间成员列表
RTC房间内成员可以使用getRTCRoomMembers
接口获取所在RTC房间的成员情况,包括成员数量等。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
roomId | 房间ID | 获取房间成员请求的RTC房间ID |
代码示例
public void getRTCRoomMembers(long roomId, ICallback<RTCStruct.RTCRoomInfo> callback)
获取RTC房间成员数量
未加入RTC房间的用户可以使用getRTCRoomMemberCount
接口获取RTC房间的成员数量。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
roomId | 房间ID | 获取房间成员数量的RTC房间ID |
代码示例
public void getRTCRoomMemberCount(long roomId, ICallback<Integer> callback)
屏蔽RTC房间中用户语音
blockUserInVoiceRoom
接口可以屏蔽掉RTC房间内容用户的语音。屏蔽后,该用户的语音不会被房间内其他用户接收到。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
roomId | 房间ID | 要屏蔽用户语音的RTC房间ID |
uids | 用户ID | 屏蔽的用户ID |
代码示例
public void blockUserInVoiceRoom(long roomId, HashSet<Long> uids,IEmptyCallback callback)
解除屏蔽RTC房间中用户语音
unblockUserInVoiceRoom
接口可以解除屏蔽RTC房间内容用户的语音。解除屏蔽后,该用户的语音可以被房间内其他用户接收到。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
roomId | 房间ID | 要解除屏蔽用户语音的RTC房间ID |
uids | 用户ID | 解除屏蔽的用户ID |
代码示例
public void unblockUserInVoiceRoom(long roomId, HashSet<Long> uids, IEmptyCallback callback)