react-cp-youtube
Version:
YouTube player with custom controls implemented in React.
50 lines (49 loc) • 1.84 kB
TypeScript
import * as React from "react";
import "./styles/videoPlayer.css";
import YouTube, { PlayerVars } from "react-youtube";
interface VideoPlayerProps {
videoId: string;
options?: YouTubeOptions;
playing?: boolean;
time?: number;
rate?: number;
disableKb?: boolean;
onTimeChange?: (time: number, userInitiated: boolean) => void;
onTimeUpdate?: (time: number, userInitiated: boolean) => void;
onPlaybackRateChange?: (rate: number) => void;
onPlay?: (userInitiated: boolean) => void;
onPause?: (userInitiated: boolean) => void;
ytRef?: (ref: YouTubeRef) => void;
onReady?: () => void;
onVideoFinished?: () => void;
onEnd?: () => void;
onError?: (error: number) => void;
onPlaybackQualityChange?: (quality: string) => void;
onStateChange?: (state: any) => void;
}
declare type YouTubeRef = YouTube | null;
declare type YouTubeOptions = {
autoplay?: PlayerVars["autoplay"];
cc_load_policy?: PlayerVars["cc_load_policy"];
color?: PlayerVars["color"];
controls?: PlayerVars["controls"];
disablekb?: PlayerVars["disablekb"];
enablejsapi?: PlayerVars["enablejsapi"];
end?: PlayerVars["end"];
fs?: PlayerVars["fs"];
hl?: PlayerVars["hl"];
iv_load_policy?: PlayerVars["iv_load_policy"];
list?: PlayerVars["list"];
listType?: PlayerVars["listType"];
loop?: PlayerVars["loop"];
modestbranding?: PlayerVars["modestbranding"];
origin?: PlayerVars["origin"];
playlist?: PlayerVars["playlist"];
playsinline?: PlayerVars["playsinline"];
rel?: PlayerVars["rel"];
showinfo?: PlayerVars["showinfo"];
start?: PlayerVars["start"];
};
declare const VideoPlayer: React.FC<VideoPlayerProps>;
export default VideoPlayer;
export { YouTubeOptions, PlayerVars, YouTubeRef };