@epiclabs/epic-video-player
Version:
Video player wrapper to support different video sources with an unified interface
30 lines (29 loc) • 1.07 kB
TypeScript
import { IPlayerConfig, IPlayerType, IRendition, IStats } from './models';
export declare abstract class Player<T> {
protected url: string;
htmlPlayer: HTMLVideoElement;
config: IPlayerConfig;
player: T;
playerType: IPlayerType;
private stats;
private loadStartTime;
constructor(url: string, htmlPlayer: HTMLVideoElement, config: IPlayerConfig);
abstract load(): void;
abstract destroy(): void;
abstract getRenditions(): IRendition[];
abstract setRendition(rendition: IRendition | number, immediately: boolean): void;
abstract getCurrentRendition(): IRendition;
getStats(): IStats;
pause(): void;
play(): Promise<void>;
currentTime(secs?: number): void | number;
volume(perc?: number): void | number;
playbackRate(rate?: number): void | number;
protected reset(): void;
protected resetStats(): void;
protected initListeners(): void;
protected destroyListeners(): void;
protected updateStats: () => void;
protected loadStart: () => void;
protected loadEnd: () => void;
}