tencent cloud

Tencent Real-Time Communication

RoomParticipantStore

Download
フォーカスモード
フォントサイズ
最終更新日: 2026-07-29 10:49:52

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
Participant list.
participantListCursor
String
Participant list cursor.
audienceList
[RoomUser]
Audience list (for webinar room).
audienceListCursor
String
Audience list cursor.
adminList
[RoomUser]
Admin list.
messageDisabledUserList
[RoomUser]
Message disabled user list.
participantListWithVideo
Participant list with video.
participantWithScreen
Participant sharing screen.
pendingDeviceApplications
Pending device application list.
pendingDeviceInvitations
Pending device invitation list.
speakingUsers
[String : Int]
Speaking users and their volume.
networkQualities
[String : NetworkInfo]
User network quality info.
pendingParticipantList
Pending participant list.
localParticipant
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

create

Create RoomParticipantStore instance.
static create(roomID: string): RoomParticipantStore {
return StoreRegistry.getStore(StoreType.RoomParticipantStore, roomID) as RoomParticipantStore
}
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
roomID
String
Room ID.

Observing State and Events

addRoomParticipantListener

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

removeRoomParticipantListener

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

Participant List

getParticipantList

Get participant list.
abstract getParticipantList(cursor?: string): Promise<ListResult<RoomParticipant>>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
cursor
String?
Pagination cursor.

getAudienceList

Get audience list (for webinar room).
abstract getAudienceList(cursor?: string): Promise<ListResult<RoomUser>>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
cursor
String?
Pagination cursor.

searchUsers

Search users by keyword.
abstract searchUsers(keyword: string): Promise<ListResult<RoomUser>>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
keyword
String
Search keyword.

Audience/Participant Role Management

promoteAudienceToParticipant

Promote audience to participant (for webinar room).
abstract promoteAudienceToParticipant(userID: string): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.

demoteParticipantToAudience

Demote participant to audience (for webinar room).
abstract demoteParticipantToAudience(userID: string): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.

Permission Management

transferOwner

Transfer owner.
abstract transferOwner(userID: string): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.

setAdmin

Set admin.
abstract setAdmin(userID: string): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.

revokeAdmin

Revoke admin.
abstract revokeAdmin(userID: string): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.

kickUser

Kick user.
abstract kickUser(userID: string): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.

updateParticipantNameCard

Update participant name card.
abstract updateParticipantNameCard(userID: string, nameCard: string): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
nameCard
String
Name card.

updateParticipantMetaData

Update participant metadata.
abstract updateParticipantMetaData(userID: string, metaData: Map<string, string>): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
metaData
[String: String]
Metadata.

Local Microphone Control

muteMicrophone

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

unmuteMicrophone

Unmute microphone.
abstract unmuteMicrophone(): Promise<void>
Version
Supported since version 3.5.

Device Control

closeParticipantDevice

Close participant device.
abstract closeParticipantDevice(userID: string, device: DeviceType): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
device
DeviceType
Device type.

disableUserMessage

Mute user.
abstract disableUserMessage(userID: string, disable: boolean): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
disable
Bool
Whether to mute.

disableAllDevices

Disable all devices.
abstract disableAllDevices(device: DeviceType, disable: boolean): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
device
DeviceType
Device type.
disable
Bool
Whether to disable.

disableAllMessages

Mute all users.
abstract disableAllMessages(disable: boolean): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
disable
Bool
Whether to mute.

Device Request Operations

requestToOpenDevice

Request to open device.
abstract requestToOpenDevice(device: DeviceType, timeout?: number): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
device
DeviceType
Device type.
timeout
Int
Timeout (in seconds).

cancelOpenDeviceRequest

Cancel open device request.
abstract cancelOpenDeviceRequest(device: DeviceType): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
device
DeviceType
Device type.

approveOpenDeviceRequest

Approve open device request.
abstract approveOpenDeviceRequest(device: DeviceType, userID: string): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
device
DeviceType
Device type.
userID
String
User ID.

rejectOpenDeviceRequest

Reject open device request.
abstract rejectOpenDeviceRequest(device: DeviceType, userID: string): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
device
DeviceType
Device type.
userID
String
User ID.

Device Invitation Operations

inviteToOpenDevice

Invite to open device.
abstract inviteToOpenDevice(userID: string, device: DeviceType, timeout?: number): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
device
DeviceType
Device type.
timeout
Int
Timeout (in seconds).

cancelOpenDeviceInvitation

Cancel open device invitation.
abstract cancelOpenDeviceInvitation(userID: string, device: DeviceType): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
device
DeviceType
Device type.

acceptOpenDeviceInvitation

Accept open device invitation.
abstract acceptOpenDeviceInvitation(userID: string, device: DeviceType): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
device
DeviceType
Device type.

declineOpenDeviceInvitation

Decline open device invitation.
abstract declineOpenDeviceInvitation(userID: string, device: DeviceType): Promise<void>
Version
Supported since version 3.5.
Parameters
Parameter
Type
Description
userID
String
User ID.
device
DeviceType
Device type.

Data Structures

ParticipantRole

Participant role.
Enum Value
Value
Description
owner
0
Owner.
admin
1
Admin.
generalUser
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
Participant list.
participantListCursor
String
Participant list cursor.
audienceList
[RoomUser]
Audience list (for webinar room).
audienceListCursor
String
Audience list cursor.
adminList
[RoomUser]
Admin list.
messageDisabledUserList
[RoomUser]
Message disabled user list.
participantListWithVideo
Participant list with video.
participantWithScreen
Participant sharing screen.
pendingDeviceApplications
Pending device application list.
pendingDeviceInvitations
Pending device invitation list.
speakingUsers
[String : Int]
Speaking users and their volume.
networkQualities
[String : NetworkInfo]
User network quality info.
pendingParticipantList
Pending participant list.
localParticipant
Local participant info.

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック