Справка по VideoElementPoolPlugin
Псевдонимы типов
ElementEvent
Ƭ ElementEvent: ElementEventAddTrack | ElementEventRemoveTrack | ElementEventTrackMuteChanged | ElementEventElementsPaused
ElementEventAddTrack
Ƭ ElementEventAddTrack: Readonly<{ payload: { isMuted: boolean ; isPaused: boolean ; stream: MediaStream } ; type: "addTrack" }>
ElementEventElementsPaused
Ƭ ElementEventElementsPaused: Readonly<{ payload: { isMuted: boolean ; isPaused: boolean ; stream: MediaStream | undefined } ; type: "elementsPaused" }>
ElementEventRemoveTrack
Ƭ ElementEventRemoveTrack: Readonly<{ payload: { stream: MediaStream } ; type: "removeTrack" }>
ElementEventTrackMuteChanged
Ƭ ElementEventTrackMuteChanged: Readonly<{ payload: { isMuted: boolean ; isPaused: boolean ; stream: MediaStream } ; type: "trackMuteChanged" }>
PausedMediaTypes
Ƭ PausedMediaTypes: { [key in MediaType]?: boolean }
VideoElementPool
Ƭ VideoElementPool: Object
Type declaration
| Name | Type |
|---|---|
event$ | Observable<VideoElementPoolEvent> |
getElement | (participantId: JazzRoomParticipantId, request: JazzRoomVideoRequest) => Element |
getPausedMediaTypes | () => PausedMediaTypes |
pauseSource | (source?: JazzRoomVideoSource) => void |
playSource | (source?: JazzRoomVideoSource) => void |
release | () => void |
setQuality | (element: HTMLVideoElement, quality: JazzRoomVideoQuality) => void |
VideoElementPoolEvent
Ƭ VideoElementPoolEvent: Readonly<{ payload: PausedMediaTypes ; type: "mediaPaused" }>
VideoElementPoolManager
Ƭ VideoElementPoolManager: Object
Type declaration
| Name | Type |
|---|---|
getVideoElementPool | (room: JazzRoom) => VideoElementPool |
releaseVideoElementPool | (room: JazzRoom) => void |
Методы
getVideoElementPool
▸ getVideoElementPool(room): VideoElementPool
Пример
const { getVideoElementPool } from '@salutejs/jazz-sdk-web-plugins';
const videoElementPool = getVideoElementPool(room);
const { videoElement, isMuted, isPaused, event$, releaseElement } =
videoElementPool.getElement(participantId, {
source,
height,
quality,
});
isMuted.get();
isPaused.get();
const unsubscribeEvents = handleEvents(event$, (event) => {...});
const unsubscribeAddTrack = handleEvent(
event$,
'addTrack',
({ payload }) => {
payload.isPaused;
payload.isMuted;
},
);
const unsubscribeRemoveTrack = handleEvent(event$, 'removeTrack', () => {...});
const unsubscribeMuteChange = handleEvent(
event$,
'trackMuteChanged',
({ payload }) => {...},
);
const unsubscribePaused = handleEvent(
event$,
'elementsPaused',
({ payload }) => {...},
);