react-all-player
Version:
react-all-player is a simple, lightweight, accessible and customizable React media player that supports modern browsers.
25 lines (24 loc) • 889 B
TypeScript
import React from 'react';
import { Audio, Subtitle } from '../types';
export interface VideoState {
subtitles: Subtitle[];
qualities: string[];
currentQuality: string | null;
currentSubtitle: string | null;
isSubtitleDisabled: boolean;
currentAudio: string | null;
audios: Audio[];
}
declare type StateSelector = (currentState: VideoState) => Partial<VideoState>;
declare type UpdateStateAction = (stateSelector: StateSelector) => void;
interface VideoContextProps {
state: VideoState;
setState: UpdateStateAction;
}
interface VideoContextProviderProps {
defaultState?: Partial<VideoState>;
}
export declare const VideoStateContext: React.Context<VideoContextProps>;
export declare const VideoStateContextProvider: React.FC<VideoContextProviderProps>;
export declare const useVideoState: () => VideoContextProps;
export {};