UNPKG

mediasfu-angular

Version:

mediasfu-angular - Angular 17/18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Prebuilt rooms and fully custom UIs.

90 lines (89 loc) 4.63 kB
import { Participant, PrepopulateUserMediaParameters, PrepopulateUserMediaType, ReorderStreamsParameters, ReorderStreamsType } from '../../@types/types'; import * as i0 from "@angular/core"; export interface ProducerMediaResumedParameters extends PrepopulateUserMediaParameters, ReorderStreamsParameters { meetingDisplayType: string; participants: Participant[]; shared: boolean; shareScreenStarted: boolean; mainScreenFilled: boolean; hostLabel: string; updateUpdateMainWindow: (updateMainWindow: boolean) => void; reorderStreams: ReorderStreamsType; prepopulateUserMedia: PrepopulateUserMediaType; getUpdatedAllParams: () => ProducerMediaResumedParameters; [key: string]: any; } export interface ProducerMediaResumedOptions { name: string; kind: 'audio'; parameters: ProducerMediaResumedParameters; } export type ProducerMediaResumedType = (options: ProducerMediaResumedOptions) => Promise<void>; /** * Service to handle resuming media for a specific participant in a meeting. * * @class * @name ProducerMediaResumed * @description Resumes media (audio only) for a participant and updates the meeting display based on the meeting layout and participant status. * * @method * producerMediaResumed * * @param {ProducerMediaResumedOptions} options - Options to control media resumption: * - `name` {string}: Name of the participant whose media is to be resumed. * - `parameters` {ProducerMediaResumedParameters}: Meeting and participant-specific configurations. * - `meetingDisplayType` {string}: Type of meeting display (e.g., "media"). * - `participants` {Participant[]}: List of participants in the meeting. * - `shared` {boolean}: Indicates if the screen is currently shared. * - `shareScreenStarted` {boolean}: Indicates if screen sharing has started. * - `mainScreenFilled` {boolean}: Indicates if the main screen is filled. * - `hostLabel` {string}: Label or name of the host. * - `updateUpdateMainWindow` {Function}: Function to update the main window display. * - `reorderStreams` {Function}: Function to manage stream ordering when display changes. * - `prepopulateUserMedia` {Function}: Function to preload user media for the main screen. * * @returns {Promise<void>} Resolves when media for the specified participant has resumed. * * @example * const options = { * name: 'Participant A', * parameters: { * meetingDisplayType: 'media', * participants: [...], * shared: false, * shareScreenStarted: false, * mainScreenFilled: false, * hostLabel: 'Host', * updateUpdateMainWindow: (updateMainWindow) => { ... }, * reorderStreams: ({ add, screenChanged, parameters }) => { ... }, * prepopulateUserMedia: ({ name, parameters }) => { ... } * } * }; * * producerMediaResumedService.producerMediaResumed(options) * .then(() => console.log('Media resumed')) * .catch(error => console.error('Error:', error)); */ export declare class ProducerMediaResumed { /** * Resumes media for a specific participant in a meeting. * * @param {ProducerMediaResumedOptions} options - The options for resuming media. * @param {string} options.name - The name of the participant whose media is to be resumed. * @param {Object} options.parameters - The parameters related to the meeting and participants. * @param {string} options.parameters.meetingDisplayType - The type of meeting display. * @param {Array} options.parameters.participants - The list of participants in the meeting. * @param {boolean} options.parameters.shared - Indicates if the screen is being shared. * @param {boolean} options.parameters.shareScreenStarted - Indicates if screen sharing has started. * @param {boolean} options.parameters.mainScreenFilled - Indicates if the main screen is filled. * @param {string} options.parameters.hostLabel - The label of the host. * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window. * @param {Function} options.parameters.reorderStreams - Function to reorder the streams. * @param {Function} options.parameters.prepopulateUserMedia - Function to prepopulate user media. * * @returns {Promise<void>} A promise that resolves when the media has been resumed. */ producerMediaResumed: ({ name, kind, parameters, }: ProducerMediaResumedOptions) => Promise<void>; static ɵfac: i0.ɵɵFactoryDeclaration<ProducerMediaResumed, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ProducerMediaResumed>; }