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/ses_duzeltilmis.srt'
const demoSubtitles: SubtitleTrack[] = [
{
src: '/player/ses.srt',
lang: 'tr',
label: 'TΓΌrkΓ§e',
default: true,
},
]
const currentVideoUrl = useDemo ? demoVideoUrl : videoUrl
return (
{currentVideoUrl ? (
console.log('Playing')}
onPause={() => console.log('Paused')}
onTimeUpdate={(time) => console.log('Time:', time)}
/>
) : (
Enter a video URL or use the demo video
)}
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