@oplayer/core
Version:
Oh! Another HTML5 video player.
78 lines • 3.2 kB
TypeScript
import { EVENTS } from './constants';
import EventEmitter from './event';
import I18n from './i18n';
import type { Destroyable, PlayerEvent, PlayerEventName, PlayerListener, PlayerOptions, PlayerPlugin, Source } from './types';
export declare class Player<Context extends Record<string, any> = Record<string, any>> {
static players: Player[];
container: HTMLElement;
options: Required<PlayerOptions>;
locales: I18n;
eventEmitter: EventEmitter;
plugins: PlayerPlugin[];
context: Context;
loader?: Destroyable;
$root: HTMLDivElement;
$video: HTMLVideoElement;
listeners: Record<(typeof EVENTS)[number] | 'fullscreenchange' | 'fullscreenerror', Function>;
hasError: boolean;
isSourceChanging: boolean;
constructor(el: HTMLElement | string, options?: PlayerOptions | string);
static make<Context extends Record<string, any> = Record<string, any>>(el: HTMLElement | string, options?: PlayerOptions | string): Player<Context>;
use(plugins: PlayerPlugin[]): this;
create(): this;
initEvent(): void;
render(): void;
load(source: Source): Promise<Source>;
applyPlugin(plugin: PlayerPlugin, init?: boolean): void;
on(name: PlayerEventName | PlayerListener, listener?: PlayerListener): this;
once(name: PlayerEventName | PlayerListener, listener?: PlayerListener): void;
off(name: PlayerEventName, listener: PlayerListener): void;
emit(name: PlayerEventName, payload?: PlayerEvent['payload']): void;
setPoster(poster: string): void;
play(): Promise<void> | undefined;
pause(): void;
togglePlay(): void | Promise<void>;
mute(): void;
unmute(): void;
toggleMute(): void;
setVolume(volume: number): void;
setPlaybackRate(rate: number): void;
seek(time: number): void;
setLoop(loop: boolean): void;
enterFullscreen(): Promise<void>;
exitFullscreen(): Promise<void>;
get isFullscreenEnabled(): any;
get isFullScreen(): boolean;
toggleFullScreen(): Promise<void>;
get isPipEnabled(): boolean;
enterPip(): Promise<PictureInPictureWindow>;
exitPip(): false | Promise<void>;
get isInPip(): boolean;
togglePip(): false | Promise<void> | Promise<PictureInPictureWindow>;
changeQuality(source: Omit<Source, 'poster'> | Promise<Omit<Source, 'poster'>>): Promise<void>;
changeSource(source: Source | Promise<Source>, keepPlaying?: boolean): Promise<void>;
_loader(sourceLike: Source | Promise<Source>, options: {
event: string;
preEvent: string;
brokenEvent: string;
keepPlaying: boolean;
keepTime?: boolean;
}): Promise<void>;
destroy(): void;
get isNativeUI(): boolean;
get state(): number;
get isPlaying(): boolean;
get isMuted(): boolean;
get isEnded(): boolean;
get isLoop(): boolean;
get isAutoPlay(): boolean;
get duration(): number;
get buffered(): TimeRanges;
get currentTime(): number;
get volume(): number;
get playbackRate(): number;
get _requestFullscreen(): Element['requestFullscreen'];
get _exitFullscreen(): Document['exitFullscreen'];
static get version(): string;
}
//# sourceMappingURL=player.d.ts.map