UNPKG

unified-video-framework

Version:

Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more

61 lines 2.59 kB
import { IVideoPlayer, VideoSource, PlayerConfig, PlayerState, PlayerError, Quality, SubtitleTrack } from './interfaces/IVideoPlayer'; import { PlayerEvent } from './interfaces'; import { EventEmitter } from './utils/EventEmitter'; export declare abstract class BasePlayer implements IVideoPlayer { protected container: HTMLElement | null; protected config: PlayerConfig; protected events: EventEmitter; protected state: PlayerState; protected source: VideoSource | null; protected subtitles: SubtitleTrack[]; protected currentSubtitleIndex: number; constructor(); protected getDefaultConfig(): PlayerConfig; protected getDefaultState(): PlayerState; initialize(container: HTMLElement | string, config?: PlayerConfig): Promise<void>; protected abstract setupPlayer(): Promise<void>; abstract destroy(): Promise<void>; abstract load(source: VideoSource): Promise<void>; play(): Promise<void>; pause(): void; stop(): void; abstract seek(time: number): void; setVolume(level: number): void; mute(): void; unmute(): void; toggleMute(): void; abstract getQualities(): Quality[]; abstract getCurrentQuality(): Quality | null; abstract setQuality(index: number): void; abstract setAutoQuality(enabled: boolean): void; setPlaybackRate(rate: number): void; getPlaybackRate(): number; getCurrentTime(): number; getDuration(): number; getBufferedPercentage(): number; getState(): PlayerState; isPlaying(): boolean; isPaused(): boolean; isEnded(): boolean; abstract enterFullscreen(): Promise<void>; abstract exitFullscreen(): Promise<void>; toggleFullscreen(): Promise<void>; abstract enterPictureInPicture(): Promise<void>; abstract exitPictureInPicture(): Promise<void>; on(event: string, handler: Function): void; off(event: string, handler?: Function): void; once(event: string, handler: Function): void; protected emit(event: PlayerEvent, ...args: any[]): void; setFreeDuration?(seconds: number): void; resetFreePreviewGate?(): void; getSubtitles(): SubtitleTrack[]; setSubtitleTrack(index: number): void; disableSubtitles(): void; protected abstract applySubtitleTrack(track: SubtitleTrack): void; protected abstract removeSubtitles(): void; protected handleError(error: PlayerError): void; protected updateTime(time: number): void; protected updateBuffered(percentage: number): void; protected setBuffering(isBuffering: boolean): void; } //# sourceMappingURL=BasePlayer.d.ts.map