Skip to main content

Introduction - Participants

The data regarding all meeting participants is stored under participants objects of DyteMobileClient() instance. To get all the objects and methods related to participants:

  final participants = dyteClient.particiants;

Use the methods and events to consume the participants data. For example, to get all the participants who joined the meeting:

// get all joined participants
final joinedParticipants = dyteClient.participants.joined;

The dyteClient.participants object has the following properties.

  • waitlisted: A list that contains all the participants waiting to join the meeting.
  • joined: A list that contains all the participants who have joined the meeting.
  • active: A list that contains all the participants except the local user who are supposed to be on the screen at the moment
  • screenshares: A list that contains all the participants who have shared screen in the meeting.
  • pinned: Pinned participant of the meeting. It can be nullable as well.

Therefore, if you were to make a grid of participants, you'd use the active list, but to display all participants in the meeting you'd use the joined list.

  • dyteClient.pinned is of type DyteMeetingParticipant.
  • All participant in each of the joined, waitlisted, active, and screenshares list is of type DyteMeetingParticipant.

Grid info for the room

DyteGridPagesInfo object is designed to help you with pagination decisions. It is returned with onGridUpdated event. It contains the following properties:

  • currentPageNumber: Int, returns the current page number (currently displayed by the client).
  • pageCount: Int, max pages possible with current number of participants.
  • isNextPagePossible: bool, if the next page of participants is available.
  • isPreviousPagePossible: bool, if previous page of participants is available.

Move between pages in paginated mode

The setPage(int pageNumber) method allows you to switch between pages of participants present in the meeting.

Note: Indexing of page starts from 0

// switch to page 1
dyteClient.setPage(1);

Video update for all participants

Triggered when the user starts / stops the video using enableVideo or disableVideo


void videoUpdate(bool videoEnabled) {
if (videoEnabled) {
// video is enabled, and other participants in room can see local user
} else {
// video is disabled, and other participants in room can not see local user.
}
}

Audio update

Triggered when the user starts / stops the audio using enableAudio or disableAudio


void audioUpdate({
required bool audioEnabled,
required DyteMeetingParticipant participant,
}) {
if (audioEnabled) {
// audio is enabled, and other participants in room can hear local user
} else {
// audio is disabled, and other participants in room can not hear local user.
}
}