tencent cloud

Tencent Real-Time Communication

RoomParticipantStore

Download
Modo Foco
Tamanho da Fonte
Última atualização: 2026-07-29 10:51:44

Introduction

Room participant management provides complete participant lifecycle management, including permission management, device control, message muting and other features. RoomParticipantStore provides a comprehensive set of APIs to manage room participant related operations.
Note:
Participant status updates are delivered through state publisher. Subscribe to it to receive real-time updates about participant list.

Features

Permission Management: Supports transferring owner, setting/revoking admin, kicking users and other operations.
Device Control: Supports closing participant devices, disabling all devices and other operations.
Message Muting: Supports muting individual users or all users.
Device Request/Invitation: Supports requesting to open device, inviting to open device and other bidirectional interactions.

Subscribable Data

RoomParticipantState fields are described below:
Property
Type
Description
participantList
StateFlow<List<RoomParticipant>>
Participant list.
participantListCursor
StateFlow<String>
Participant list cursor.
audienceList
StateFlow<List<RoomUser>>
Audience list (for webinar room).
audienceListCursor
StateFlow<String>
Audience list cursor.
adminList
StateFlow<List<RoomUser>>
Admin list.
messageDisabledUserList
StateFlow<List<RoomUser>>
Message disabled user list.
participantListWithVideo
StateFlow<List<RoomParticipant>>
Participant list with video.
participantWithScreen
StateFlow<RoomParticipant?>
Participant sharing screen.
pendingDeviceApplications
StateFlow<List<DeviceRequestInfo>>
Pending device application list.
pendingDeviceInvitations
StateFlow<List<DeviceRequestInfo>>
Pending device invitation list.
speakingUsers
StateFlow<MutableMap<String, Int>>
Speaking users and their volume.
networkQualities
StateFlow<MutableMap<String, NetworkInfo>>
User network quality info.
pendingParticipantList
StateFlow<List<RoomParticipant>>
Pending participant list.
localParticipant
StateFlow<RoomParticipant?>
Local participant info.

API List

Function
Description
Create object instance.
Participant event callback.
Participant event callback.
Get participant list.
Get audience list (for webinar room).
Search users by keyword.
Promote audience to participant (for webinar room).
Demote participant to audience (for webinar room).
Transfer owner.
Set admin.
Revoke admin.
Kick user.
Update participant name card.
Update participant metadata.
Mute microphone.
Unmute microphone.
Close participant device.
Mute user.
Disable all devices.
Mute all users.
Request to open device.
Cancel open device request.
Approve open device request.
Reject open device request.
Invite to open device.
Cancel open device invitation.
Accept open device invitation.
Decline open device invitation.

Creating Instance

RoomParticipantStore.create

Create object instance.

Observing State and Events

addRoomParticipantListener

Add participant event callback listener.
abstract fun addRoomParticipantListener(listener: RoomParticipantListener?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
listener
Listener.

removeRoomParticipantListener

Remove participant event callback listener.
abstract fun removeRoomParticipantListener(listener: RoomParticipantListener?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
listener
Listener.

Participant List

getParticipantList

Get participant list.
abstract fun getParticipantList(cursor: String?, completion: ListResultCompletionHandler<RoomParticipant>?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
cursor
String?
Pagination cursor.
completion
ListResultCompletionHandler<RoomParticipant>?
Completion callback.

getAudienceList

Get audience list (for webinar room).
abstract fun getAudienceList(cursor: String?, completion: ListResultCompletionHandler<RoomUser>?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
cursor
String?
Pagination cursor.
completion
ListResultCompletionHandler<RoomUser>?
Completion callback.

searchUsers

Search users by keyword.
abstract fun searchUsers(keyword: String, completion: ListResultCompletionHandler<RoomUser>?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
keyword
String
Search keyword.
completion
ListResultCompletionHandler<RoomUser>?
Completion callback.

Audience/Participant Role Management

promoteAudienceToParticipant

Promote audience to participant (for webinar room).
abstract fun promoteAudienceToParticipant(userID: String, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
completion
CompletionHandler?
Completion callback.

demoteParticipantToAudience

Demote participant to audience (for webinar room).
abstract fun demoteParticipantToAudience(userID: String, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
completion
CompletionHandler?
Completion callback.

Permission Management

transferOwner

Transfer owner.
abstract fun transferOwner(userID: String, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
completion
CompletionHandler?
Completion callback.

setAdmin

Set admin.
abstract fun setAdmin(userID: String, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
completion
CompletionHandler?
Completion callback.

revokeAdmin

Revoke admin.
abstract fun revokeAdmin(userID: String, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
completion
CompletionHandler?
Completion callback.

kickUser

Kick user.
abstract fun kickUser(userID: String, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
completion
CompletionHandler?
Completion callback.

updateParticipantNameCard

Update participant name card.
abstract fun updateParticipantNameCard(userID: String, nameCard: String, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
nameCard
String
Name card.
completion
CompletionHandler?
Completion callback.

updateParticipantMetaData

Update participant metadata.
abstract fun updateParticipantMetaData(
userID: String,
metaData: HashMap<String, String>,
completion: CompletionHandler?
)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
metaData
HashMap<String, String>
Metadata.
completion
CompletionHandler?
Completion callback.

Local Microphone Control

muteMicrophone

Mute microphone.
abstract fun muteMicrophone()
Version
Supported since version 3.5.

unmuteMicrophone

Unmute microphone.
abstract fun unmuteMicrophone(completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
completion
CompletionHandler?
Completion callback.

Device Control

closeParticipantDevice

Close participant device.
abstract fun closeParticipantDevice(userID: String, device: DeviceType, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
device
DeviceType
Device type.
completion
CompletionHandler?
Completion callback.

disableUserMessage

Mute user.
abstract fun disableUserMessage(userID: String, disable: Boolean, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
disable
Boolean
Whether to mute.
completion
CompletionHandler?
Completion callback.

disableAllDevices

Disable all devices.
abstract fun disableAllDevices(device: DeviceType, disable: Boolean, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
device
DeviceType
Device type.
disable
Boolean
Whether to disable.
completion
CompletionHandler?
Completion callback.

disableAllMessages

Mute all users.
abstract fun disableAllMessages(disable: Boolean, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
disable
Boolean
Whether to mute.
completion
CompletionHandler?
Completion callback.

Device Request Operations

requestToOpenDevice

Request to open device.
abstract fun requestToOpenDevice(device: DeviceType, timeout: Int = 0, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
device
DeviceType
Device type.
timeout
Int
Timeout (in seconds).
completion
CompletionHandler?
Completion callback.

cancelOpenDeviceRequest

Cancel open device request.
abstract fun cancelOpenDeviceRequest(device: DeviceType, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
device
DeviceType
Device type.
completion
CompletionHandler?
Completion callback.

approveOpenDeviceRequest

Approve open device request.
abstract fun approveOpenDeviceRequest(device: DeviceType, userID: String, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
device
DeviceType
Device type.
userID
String
User ID.
completion
CompletionHandler?
Completion callback.

rejectOpenDeviceRequest

Reject open device request.
abstract fun rejectOpenDeviceRequest(device: DeviceType, userID: String, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
device
DeviceType
Device type.
userID
String
User ID.
completion
CompletionHandler?
Completion callback.

Device Invitation Operations

inviteToOpenDevice

Invite to open device.
abstract fun inviteToOpenDevice(
userID: String,
device: DeviceType,
timeout: Int = 0,
completion: CompletionHandler?
)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
device
DeviceType
Device type.
timeout
Int
Timeout (in seconds).
completion
CompletionHandler?
Completion callback.

cancelOpenDeviceInvitation

Cancel open device invitation.
abstract fun cancelOpenDeviceInvitation(userID: String, device: DeviceType, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
device
DeviceType
Device type.
completion
CompletionHandler?
Completion callback.

acceptOpenDeviceInvitation

Accept open device invitation.
abstract fun acceptOpenDeviceInvitation(userID: String, device: DeviceType, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
device
DeviceType
Device type.
completion
CompletionHandler?
Completion callback.

declineOpenDeviceInvitation

Decline open device invitation.
abstract fun declineOpenDeviceInvitation(userID: String, device: DeviceType, completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
device
DeviceType
Device type.
completion
CompletionHandler?
Completion callback.

Data Structures

ParticipantRole

Participant role.
Enum Value
Value
Description
OWNER
0
Owner.
ADMIN
1
Admin.
GENERAL_USER
2
General user.

RoomParticipantStatus

Participant status.
Enum Value
Description
scheduled
Scheduled.
inCalling
In calling.
callTimeout
Call timeout.
callRejected
Call rejected.
inRoom
In room.

KickedOutOfRoomReason

Reason for being kicked out of room.
Enum Value
Description
kickedByAdmin
Kicked by admin.
replacedByAnotherDevice
Replaced by another device.
kickedByServer
Kicked by server.
connectionTimeout
Connection timeout.
invalidStatusOnReconnect
Invalid status on reconnect.
roomLimitExceeded
Room limit exceeded.

RoomParticipantListener

Participant event callback.
Methods
Method
Description
onParticipantJoined
Triggered when a participant joins the room.
onParticipantLeft
Triggered when a participant leaves the room.
onAudiencePromotedToParticipant
Triggered when an audience is promoted to participant.
onParticipantDemotedToAudience
Triggered when a participant is demoted to audience.
onOwnerChanged
Triggered when the owner changes.
onAdminSet
Triggered when an admin is set.
onAdminRevoked
Triggered when an admin is revoked.
onKickedFromRoom
Triggered when kicked from the room.
onParticipantDeviceClosed
Triggered when a participant's device is closed.
onUserMessageDisabled
Triggered when a user is muted.
onAllDevicesDisabled
Triggered when all devices are disabled.
onAllMessagesDisabled
Triggered when all users are muted.
onDeviceRequestReceived
Triggered when a device request is received.
onDeviceRequestCancelled
Triggered when a device request is cancelled.
onDeviceRequestTimeout
Triggered when a device request times out.
onDeviceRequestApproved
Triggered when a device request is approved.
onDeviceRequestRejected
Triggered when a device request is rejected.
onDeviceRequestProcessed
Triggered when a device request is processed.
onDeviceInvitationReceived
Triggered when a device invitation is received.
onDeviceInvitationCancelled
Triggered when a device invitation is cancelled.
onDeviceInvitationTimeout
Triggered when a device invitation times out.
onDeviceInvitationAccepted
Triggered when a device invitation is accepted.
onDeviceInvitationDeclined
Triggered when a device invitation is declined.

RoomParticipant

Room participant info.

DeviceRequestInfo

Device request info.

RoomParticipantState

Participant related state data provided by RoomParticipantStore.
Property
Type
Description
participantList
StateFlow<List<RoomParticipant>>
Participant list.
participantListCursor
StateFlow<String>
Participant list cursor.
audienceList
StateFlow<List<RoomUser>>
Audience list (for webinar room).
audienceListCursor
StateFlow<String>
Audience list cursor.
adminList
StateFlow<List<RoomUser>>
Admin list.
messageDisabledUserList
StateFlow<List<RoomUser>>
Message disabled user list.
participantListWithVideo
StateFlow<List<RoomParticipant>>
Participant list with video.
participantWithScreen
StateFlow<RoomParticipant?>
Participant sharing screen.
pendingDeviceApplications
StateFlow<List<DeviceRequestInfo>>
Pending device application list.
pendingDeviceInvitations
StateFlow<List<DeviceRequestInfo>>
Pending device invitation list.
speakingUsers
StateFlow<MutableMap<String, Int>>
Speaking users and their volume.
networkQualities
StateFlow<MutableMap<String, NetworkInfo>>
User network quality info.
pendingParticipantList
StateFlow<List<RoomParticipant>>
Pending participant list.
localParticipant
StateFlow<RoomParticipant?>
Local participant info.

Ajuda e Suporte

Esta página foi útil?

comentários