react-all-player
Version:
react-all-player is a simple, lightweight, accessible and customizable React media player that supports modern browsers.
66 lines (65 loc) • 2.32 kB
TypeScript
import * as React from 'react';
import { IndicatorRef } from '../components/Indicator/Indicator';
import { PlayerProps } from '../components/Player/Player';
import { HotKey, Shortcuts, Subtitle } from '../types';
import { VideoState } from './VideoStateContext';
interface I18nControls extends I18nField {
play: string;
pause: string;
forward: string;
backward: string;
enableSubtitle: string;
disableSubtitle: string;
settings: string;
enterFullscreen: string;
exitFullscreen: string;
muteVolume: string;
unmuteVolume: string;
sliderDragMessage: string;
}
interface I18nSettings extends I18nField {
playbackSpeed: string;
subtitle: string;
quality: string;
subtitleSettings: string;
reset: string;
off: string;
none: string;
subtitleTextStyle: string;
subtitleBackgroundOpacity: string;
subtitleFontOpacity: string;
subtitleFontSize: string;
audio: string;
}
declare type I18nField = {
[k: string]: string | I18nField;
};
export interface I18n extends I18nField {
controls: I18nControls;
settings: I18nSettings;
}
export declare type Components = {
Subtitle: React.FC;
MobileBackwardIndicator: React.ForwardRefExoticComponent<React.RefAttributes<IndicatorRef>>;
MobileForwardIndicator: React.ForwardRefExoticComponent<React.RefAttributes<IndicatorRef>>;
Player: React.ForwardRefExoticComponent<PlayerProps & React.RefAttributes<HTMLVideoElement>>;
MobileOverlay: React.FC;
Overlay: React.FC;
Controls: React.FC;
MobileControls: React.FC;
};
export interface ReactVidPlayerProps extends PlayerProps {
thumbnail?: string;
placeholder?: string;
i18n?: I18n;
shortcuts?: Shortcuts;
hotkeys?: HotKey[];
subtitles?: Subtitle[];
components?: Partial<Components>;
defaultVideoState?: Pick<VideoState, 'currentAudio' | 'currentQuality' | 'currentSubtitle' | 'isSubtitleDisabled'>;
disableVolumeSlider?: Boolean;
}
export declare const VideoPropsContext: React.Context<Required<ReactVidPlayerProps>>;
export declare const VideoPropsProvider: React.FC<Partial<ReactVidPlayerProps>>;
export declare const useVideoProps: () => Required<ReactVidPlayerProps>;
export default VideoPropsContext;