mirror of https://github.com/OpenVidu/openvidu.git
82 lines
2.8 KiB
TypeScript
82 lines
2.8 KiB
TypeScript
![]() |
import { Stream } from './Stream';
|
||
|
import { EventDispatcher } from '../OpenViduInternal/Interfaces/Public/EventDispatcher';
|
||
|
import { Event } from '../OpenViduInternal/Events/Event';
|
||
|
import { VideoInsertMode } from '../OpenViduInternal/Enums/VideoInsertMode';
|
||
|
import EventEmitter = require('wolfy87-eventemitter');
|
||
|
/**
|
||
|
* Interface in charge of displaying the media streams in the HTML DOM. This wraps any Publisher and Subscriber object, as well as
|
||
|
* any extra representation in the DOM you assign to some Stream by calling [[Stream.addVideoElement]].
|
||
|
*
|
||
|
* The use of this interface is useful when you don't need to differentiate between streams and just want to directly manage videos
|
||
|
*/
|
||
|
export declare class MediaManager implements EventDispatcher {
|
||
|
/**
|
||
|
* The Stream represented in the DOM by the MediaManager
|
||
|
*/
|
||
|
stream: Stream;
|
||
|
/**
|
||
|
* Whether the MediaManager is representing in the DOM a local Stream ([[Publisher]]) or a remote Stream ([[Subscriber]])
|
||
|
*/
|
||
|
remote: boolean;
|
||
|
/**
|
||
|
* The DOM HTMLElement assigned as target element when initializing the MediaManager. This property is defined when [[OpenVidu.initPublisher]]
|
||
|
* or [[Session.subscribe]] methods have been called passing a valid `targetElement` parameter. It is undefined when [[OpenVidu.initPublisher]]
|
||
|
* or [[Session.subscribe]] methods have been called passing *null* or *undefined* as `targetElement` parameter or when the MediaManager hass been
|
||
|
* created by calling [[Stream.addVideoElement]]
|
||
|
*/
|
||
|
targetElement?: HTMLElement;
|
||
|
/**
|
||
|
* The DOM HTMLVideoElement displaying the MediaManager's stream
|
||
|
*/
|
||
|
video: HTMLVideoElement;
|
||
|
/**
|
||
|
* `id` attribute of the DOM HTMLVideoElement displaying the MediaManager's stream
|
||
|
*/
|
||
|
id: string;
|
||
|
/**
|
||
|
* @hidden
|
||
|
*/
|
||
|
isVideoElementCreated: boolean;
|
||
|
/**
|
||
|
* @hidden
|
||
|
*/
|
||
|
protected ee: EventEmitter;
|
||
|
/**
|
||
|
* @hidden
|
||
|
*/
|
||
|
protected customEe: EventEmitter;
|
||
|
/**
|
||
|
* @hidden
|
||
|
*/
|
||
|
constructor(stream: Stream, targetElement?: HTMLElement | string);
|
||
|
/**
|
||
|
* See [[EventDispatcher.on]]
|
||
|
*/
|
||
|
on(type: string, handler: (event: Event) => void): EventDispatcher;
|
||
|
/**
|
||
|
* See [[EventDispatcher.once]]
|
||
|
*/
|
||
|
once(type: string, handler: (event: Event) => void): MediaManager;
|
||
|
/**
|
||
|
* See [[EventDispatcher.off]]
|
||
|
*/
|
||
|
off(type: string, handler?: (event: Event) => void): MediaManager;
|
||
|
/**
|
||
|
* @hidden
|
||
|
*/
|
||
|
insertVideo(targetElement?: HTMLElement, insertMode?: VideoInsertMode): HTMLVideoElement;
|
||
|
/**
|
||
|
* @hidden
|
||
|
*/
|
||
|
insertVideoWithMode(insertMode: VideoInsertMode): void;
|
||
|
/**
|
||
|
* @hidden
|
||
|
*/
|
||
|
removeVideo(): void;
|
||
|
/**
|
||
|
* @hidden
|
||
|
*/
|
||
|
addOnCanPlayEvent(): void;
|
||
|
private mirrorVideo();
|
||
|
}
|