onStreamsChange method

Stream<Event<ConferenceServiceEventNames, StreamsChangeData>> onStreamsChange()

Returns a Stream of the ConferenceServiceEventNames.streamAdded, ConferenceServiceEventNames.streamUpdated, and ConferenceServiceEventNames.streamRemoved events. By subscribing to the returned stream you will be notified about new, changed, and removed streams of conference participants.

Implementation

Stream<Event<ConferenceServiceEventNames, StreamsChangeData>>
    onStreamsChange() {
  return _nativeEventsReceiver.addListener([
    ConferenceServiceEventNames.streamAdded,
    ConferenceServiceEventNames.streamUpdated,
    ConferenceServiceEventNames.streamRemoved
  ]).map((event) {
    final eventMap = event as Map<Object?, Object?>;
    final eventType =
        ConferenceServiceEventNames.valueOf(eventMap["key"] as String);
    final streamsChangeData = eventMap["body"] as Map<Object?, Object?>;
    return Event(
        eventType,
        StreamsChangeData(
            ParticipantMapper.fromMap(
                streamsChangeData["participant"] as Map<Object?, Object?>),
            MediaStreamMapper.fromMap(
                streamsChangeData["stream"] as Map<Object?, Object?>)));
  });
}