import React, { useState } from 'react' import { VideoPlayer } from '../src/components/VideoPlayer' import type { SubtitleTrack } from '../src/types' import './App.css' function App() { const [videoUrl, setVideoUrl] = useState('') const [useDemo, setUseDemo] = useState(true) // Demo video URLs (you can replace with your own) const demoVideoUrl = '/player/ses.mp4' const demoPoster = '/player/poster.svg' const demoSubtitles: SubtitleTrack[] = [ { src: '/player/ses.srt', lang: 'tr', label: 'TΓΌrkΓ§e', default: true, }, ] const currentVideoUrl = useDemo ? demoVideoUrl : videoUrl return (

🎬 Modern Video Player

A feature-rich, modern video player built with React

{currentVideoUrl ? ( console.log('Playing')} onPause={() => console.log('Paused')} onTimeUpdate={(time) => console.log('Time:', time)} /> ) : (

Enter a video URL or use the demo video

)}
setVideoUrl(e.target.value)} disabled={useDemo} />

Features

⌨️ Keyboard Shortcuts

  • Space or K - Play/Pause
  • ← / β†’ - Seek 5s
  • J / L - Seek 10s
  • ↑ / ↓ - Volume
  • M - Mute/Unmute
  • F - Fullscreen
  • P - Picture-in-Picture
  • 0-9 - Jump to %

πŸ“± Touch Gestures

  • Tap - Play/Pause
  • Double tap left - Rewind 10s
  • Double tap right - Forward 10s
  • Swipe left/right - Seek
  • Swipe up/down - Volume

🎨 Modern UI

  • Clean, minimalist design
  • Smooth animations
  • Custom red theme
  • Auto-hiding controls
  • Responsive layout

πŸš€ Advanced Features

  • HLS streaming support
  • HTTP Range Request (MP4)
  • Subtitles (VTT, SRT)
  • Multiple audio tracks
  • Playback speed control
  • Quality selector
) } export default App