UNPKG

@globis/player

Version:

GLOBIS React Video Player.

71 lines (70 loc) 2.82 kB
/// <reference types="react" /> /// <reference types="@emotion/core" /> import ReactPlayer, { ReactPlayerProps } from 'react-player'; import { PLAYBACK_RATE, QUALITIES } from './constants'; declare type Option = { label: string; value: string | number; }; declare type Time = { label: string; value: number; }; declare type Source = { quality: number; src: string; }; declare type DefaultValues = { isMuted?: boolean; playbackRate?: PLAYBACK_RATE; isPlaying?: boolean; quality?: QUALITIES; isShowingTracks?: boolean; volume?: number; }; export declare type Arguments = DefaultValues & Pick<ReactPlayerProps, 'onStart' | 'onEnded'> & { onSubtitleClick?: React.MouseEventHandler<HTMLButtonElement>; onMuteClick?: React.MouseEventHandler<HTMLButtonElement>; onPlaybackRateChange?: (playbackRate: PLAYBACK_RATE) => void; onQualityChange?: (qualities: QUALITIES) => void; onVolumeChange?: (value: string) => void; sources: Source[]; }; export declare const usePlayer: ({ onSubtitleClick: onEnhancedSubtitleClick, onMuteClick: onEnhancedMuteClick, onPlaybackRateChange: onEnhancedPlaybackRateChange, onQualityChange: onEnhancedQualityChange, onStart: onEnhancedStart, onEnded: onEnhancedEnded, onVolumeChange: onEnhancedVolumeChange, sources, ...props }: Arguments) => { currentQuality: Option; currentSource: Source; currentTime: Time; duration: Time; hasChangedQuality: boolean; internalVideoRef: import("react").RefObject<HTMLVideoElement>; isFullscreen: boolean; isMuted: boolean; isPlaying: boolean; isShowingTracks: boolean; isUserIdle: boolean; onSubtitleClick: (event: import("react").MouseEvent<HTMLButtonElement, MouseEvent>) => void; onContextMenu: (event: import("react").MouseEvent<HTMLVideoElement, MouseEvent>) => void; onDuration: (duration: number) => void; onEnded: () => void; onFullscreenChange: (nextValue?: any) => void; onMuteClick: (event: import("react").MouseEvent<HTMLButtonElement, MouseEvent>) => void; onPlayClick: (nextValue?: any) => void; onPlaybackRateChange: (option: Option) => void; onProgress: (state: { played: number; playedSeconds: number; loaded: number; loadedSeconds: number; }) => void; onQualityChange: (option: Option) => void; onReady: (savedCurrentTime: number) => void; onSeek: (event: import("react").ChangeEvent<HTMLInputElement>) => void; onStart: (hasChangedQuality: boolean) => void; onVolumeChange: (event: import("react").ChangeEvent<HTMLInputElement>) => void; playbackRate: Option; savedCurrentTime: number; videoRef: import("react").RefObject<ReactPlayer>; volume: number; wrapperRef: import("react").RefObject<HTMLDivElement>; }; export {};