@aigamo/nostalgic-diva
Version:
React function components for imperatively controlling embedded players (audio, Niconico, SoundCloud and YouTube) using refs.
23 lines (22 loc) • 1.18 kB
TypeScript
import { ILogger } from './Logger';
import { IPlayerCommands, PlayerOptions } from './PlayerController';
export declare abstract class PlayerControllerImpl<TPlayer> implements Partial<IPlayerCommands> {
protected readonly logger: ILogger;
protected readonly player: TPlayer;
protected readonly options: PlayerOptions | undefined;
constructor(logger: ILogger, player: TPlayer, options: PlayerOptions | undefined);
abstract attach(id: string): Promise<void>;
abstract detach(): Promise<void>;
abstract loadVideo?(id: string): Promise<void>;
abstract play?(): Promise<void>;
abstract pause?(): Promise<void>;
abstract setCurrentTime?(seconds: number): Promise<void>;
abstract setVolume?(volume: number): Promise<void>;
abstract setMuted?(muted: boolean): Promise<void>;
abstract setPlaybackRate?(playbackRate: number): Promise<void>;
abstract getDuration?(): Promise<number | undefined>;
abstract getCurrentTime?(): Promise<number | undefined>;
abstract getVolume?(): Promise<number | undefined>;
abstract getPlaybackRate?(): Promise<number | undefined>;
supports(command: keyof IPlayerCommands): boolean;
}