@videosdk.live/react-sdk
Version:
<h1 align="center"> <img src="https://static.videosdk.live/videosdk_logo_website_black.png"/><br/> <p align="center"> Video SDK React App<br/> <a href="https://videosdk.live/">videosdk.live</a> </p> </h1>
238 lines (235 loc) • 7.41 kB
TypeScript
export class Participant {
/**
* @description This represents the participant's ID
*/
id: string;
/**
* @description This represents the participant's name
*/
displayName: string;
/**
* @description This represents the all the Streams that the participant is producing
*
*/
streams: Map<string, Stream>;
/**
* @description This represents the quality of video being consumed for the participant
*
*/
quality: 'low' | 'med' | 'high';
/**
* @description This represents if the participant is local or remote
*
*/
local: boolean;
/**
* @description This represents participant's current pin state
*
*/
pinState: {
cam: boolean;
share: boolean;
};
/**
* @description This represents participant's current webcam status
*/
webcamOn: boolean;
/**
* @description This represents participant's current mic status
*
*/
micOn: boolean;
/**
* @description This represents participant's current screenshare status
*
*/
screenShareOn: boolean;
/**
* @description This represents participant's current screenshare audio status
*
*/
screenShareAudioOn: boolean;
/**
* @description This represents participant's current mode
*
*/
mode: 'SEND_AND_RECV' | 'SIGNALLING_ONLY' | 'RECV_ONLY'
/**
* @description This represents metaData which is passed in MeetingProvider
*
*/
metaData: object;
/**
* @description This method can be used to kickout a participant from the meeting
*/
remove(): void;
/**
* @description This method can be used to enable mic of the participant in the meeting
*/
enableMic(): void;
/**
* @description This method can be used to disable mic of the participant in the meeting
*/
disableMic(): void;
/**
* @description This method can be used to enable webcam of the participant in the meeting
*/
enableWebcam(): void;
/**
* @description This method can be used to disable webcam of the participant in the meeting
*/
disableWebcam(): void;
/**
* @description This method can be used to capture image in the meeting
*/
captureImage({
height,
width
}: {
height?: number;
width?: number;
}): Promise<string | null>;
/**
* @description This method can be used to set the incoming video quality of the participant
* @param quality
*/
setQuality(quality: 'low' | 'med' | 'high'): void;
/**
* @description This method can be used to set the incoming screen sharevideo quality of the participant
* @param quality
*/
setScreenShareQuality(quality: 'low' | 'med' | 'high'): void;
/**
* @description This method can be used to set the video quality of the participant based on the size of the viewport it is being displayed in
* @param width Width of the Viewport in which participant video is shown
* @param height Height of the Viewport in which participant video is shown
*/
setViewPort(width: number, height: number): void;
/**
* @param type If `SHARE_AND_CAM` is provided, it will pin screenshare and camera of the participant.
* If `CAM` is provided, it will only pin the participant's camera, If `SHARE` is provided, it will only pin the participant's screen share
*/
pin(type: 'SHARE_AND_CAM' | 'CAM' | 'SHARE'): void;
/**
* @param type If `SHARE_AND_CAM` is provided, it will unpin screenshare and camera of the participant.
* If `CAM` is provided, it will only unpin the participant's camera, If `SHARE` is provided, it will only unpin the participant's screen share
*/
unpin(type: 'SHARE_AND_CAM' | 'CAM' | 'SHARE'): void;
/**
* @description This method returns the Video Statistics of the participant.
* To learn more about the video statistics check these [reference](https://docs.videosdk.live/react/guide/video-and-audio-calling-api-sdk/render-media/understanding-call-quality)
*/
getVideoStats(): Promise<
Array<{
bitrate: number;
rtt: number;
network: string;
codec: string;
jitter: number;
limitation: any;
totalPackets: number;
packetsLost: number;
concealmentEvents: number;
insertedSamplesForDecelaration: number;
removedSamplesForAccelaration: number;
size: any;
currentSpatialLayer: number;
currentTemporalLayer: number;
preferredSpatialLayer: number;
preferredTemporalLayer: number;
}>
>;
/**
* @description This method returns the Screen Share Audio Statistics of the participant.
* To learn more about the video statistics check these [reference](https://docs.videosdk.live/react/guide/video-and-audio-calling-api-sdk/render-media/understanding-call-quality)
*/
getShareAudioStats(): Promise<
Array<{
bitrate: number;
rtt: number;
network: string;
codec: string;
jitter: number;
totalPackets: number;
packetsLost: number;
concealmentEvents: number;
insertedSamplesForDecelaration: number;
removedSamplesForAccelaration: number;
size: any;
}>
>;
/**
* @description This method returns the Screen Share Statistics of the participant.
* To learn more about the video statistics check these [reference](https://docs.videosdk.live/react/guide/video-and-audio-calling-api-sdk/render-media/understanding-call-quality)
*/
getShareStats(): Promise<
Array<{
bitrate: number;
rtt: number;
network: string;
codec: string;
jitter: number;
limitation: any;
totalPackets: number;
packetsLost: number;
concealmentEvents: number;
insertedSamplesForDecelaration: number;
removedSamplesForAccelaration: number;
size: any;
currentSpatialLayer: number;
currentTemporalLayer: number;
preferredSpatialLayer: number;
preferredTemporalLayer: number;
}>
>;
/**
* @description This method returns the Audio Statistics of the participant.
* To learn more about the video statistics check these [reference](https://docs.videosdk.live/react/guide/video-and-audio-calling-api-sdk/render-media/understanding-call-quality)
*/
getAudioStats(): Promise<
Array<{
bitrate: number;
rtt: number;
network: string;
codec: string;
jitter: number;
totalPackets: number;
packetsLost: number;
concealmentEvents: number;
insertedSamplesForDecelaration: number;
removedSamplesForAccelaration: number;
size: any;
}>
>;
consumeMicStreams(): void;
consumeWebcamStreams(): void;
stopConsumingWebcamStreams(): void;
stopConsumingMicStreams(): void;
/**
* Add event listener
* @param eventType Event name to which you want to subscribe.
* @param listener Callback function which will be triggered when the event happens
*/
on(
eventType:
| 'stream-enabled'
| 'stream-disabled'
| 'media-status-changed'
| 'video-quality-changed',
listener: (data: any) => void
): void;
/**
* Remove event
* @param eventType Event name to which you want to unsubscribe.
* @param listener Callback function which was passed while subscribing to the event
*/
off(
eventType:
| 'stream-enabled'
| 'stream-disabled'
| 'media-status-changed'
| 'video-quality-changed',
listener: (data: any) => void
): void;
}
import { Stream } from './stream';