UNPKG

react-all-player

Version:

react-all-player is a simple, lightweight, accessible and customizable React media player that supports modern browsers.

95 lines (94 loc) 3.13 kB
/** * TypeScript definitions for Vimeo Player API * Reference: https://github.com/vimeo/player.js */ export interface VimeoPlayerOptions { id?: number; url?: string; autopause?: boolean; autoplay?: boolean; background?: boolean; byline?: boolean; color?: string; controls?: boolean; dnt?: boolean; height?: number; interactive_params?: string; keyboard?: boolean; loop?: boolean; maxheight?: number; maxwidth?: number; muted?: boolean; pip?: boolean; playsinline?: boolean; portrait?: boolean; quality?: 'auto' | '360p' | '540p' | '720p' | '1080p' | '2k' | '4k'; responsive?: boolean; speed?: boolean; texttrack?: string; title?: boolean; transparent?: boolean; width?: number; } export interface VimeoTimeEvent { duration: number; percent: number; seconds: number; } export interface VimeoTextTrack { label: string; language: string; kind: string; mode?: 'disabled' | 'showing'; } export interface VimeoQuality { label: string; id: string; active: boolean; } export interface VimeoPlaybackRate { rate: number; } export interface VimeoError { name: string; message: string; method: string; } export declare class VimeoPlayer { constructor(element: HTMLElement | string, options?: VimeoPlayerOptions); play(): Promise<void>; pause(): Promise<void>; getPaused(): Promise<boolean>; setCurrentTime(seconds: number): Promise<number>; getCurrentTime(): Promise<number>; getDuration(): Promise<number>; setPlaybackRate(playbackRate: number): Promise<number>; getPlaybackRate(): Promise<number>; seekTo(seconds: number): Promise<number>; setVolume(volume: number): Promise<number>; getVolume(): Promise<number>; setMuted(muted: boolean): Promise<boolean>; getMuted(): Promise<boolean>; getQualities(): Promise<VimeoQuality[]>; getQuality(): Promise<string>; setQuality(quality: string): Promise<string>; enableTextTrack(language: string, kind?: string): Promise<VimeoTextTrack>; disableTextTrack(): Promise<void>; getTextTracks(): Promise<VimeoTextTrack[]>; getVideoUrl(): Promise<string>; getVideoId(): Promise<number>; getVideoTitle(): Promise<string>; on(event: string, callback: Function): void; off(event: string, callback?: Function): void; ready(): Promise<void>; destroy(): Promise<void>; getElement(): HTMLElement; } export declare type VimeoEventName = 'play' | 'playing' | 'pause' | 'ended' | 'timeupdate' | 'progress' | 'seeking' | 'seeked' | 'texttrackchange' | 'chapterchange' | 'cuechange' | 'cuepoint' | 'volumechange' | 'playbackratechange' | 'bufferstart' | 'bufferend' | 'error' | 'loaded' | 'durationchange' | 'fullscreenchange' | 'qualitychange' | 'camerachange' | 'resize' | 'enterpictureinpicture' | 'leavepictureinpicture'; declare global { interface Window { Vimeo?: { Player: typeof VimeoPlayer; }; } }