Player video cu swipe vertical (stil TikTok/Reels) — 100% local, fără upload.
| Versiune Web | Versiune Mobilă (Expo) | |
|---|---|---|
| Tehnologie | HTML + TailwindCSS + JS pur | React Native 0.74.5 + Expo ~51 |
| Player | <video> nativ |
expo-av + ResizeMode.CONTAIN |
| Gesturi | Touch / Mouse / Keyboard | react-native-gesture-handler + reanimated |
| Pornire | Deschide docs/SwipePlayer_single_file.html |
npx expo start |
| Build APK | — | npx eas build -p android --profile preview |
swipe-player/
├── app/ # Aplicația mobilă Expo
│ ├── App.tsx # Componenta principală (player complet)
│ ├── app.json # Config Expo + permisiuni Android
│ ├── package.json # Dependințe
│ ├── babel.config.js
│ └── tsconfig.json
├── docs/
│ └── SwipePlayer_single_file.html # Varianta web (deschide direct în browser)
├── libs/ # Biblioteci externe (AAR-uri)
│ └── dragonbones-release.aar
├── scripts/
└── README.md
- ✅ Swipe vertical — glisează sus/jos cu fizică (inerție + snapping), ca TikTok & Reels
- ✅ Dublu-tap — play / pauză (dublu-click pe video)
- ✅ Tap simplu — arată / ascunde controalele
- ✅ Upload multiplu — selectează mai multe videoclipuri dintr-o dată
- ✅ Indicatori — progress bar sus, dots lateral, contor numerotat
- ✅ Auto-play — videoclipul activ pornește automat, restul sunt în pauză
- ✅ Loop — fiecare video se repetă în buclă
- ✅ Keyboard — săgeți sus/jos pentru navigare, spațiu pentru play/pauză
- MP4, MOV, WEBM
- Permisiuni:
READ_MEDIA_VIDEO,READ_EXTERNAL_STORAGE
- Dark theme premium
- Gradient + backdrop-blur
- Animații smooth (380ms cubic-bezier)
- Safe area + viewport responsive
Deschide docs/SwipePlayer_single_file.html în orice browser modern — funcționează direct, fără instalare.
cd app
npm install
npx expo start
# Scanează QR-ul cu Expo Go pe telefonnpm install -g eas-cli
eas build -p android --profile preview
# Primești un link APK gata de instalatnpx expo run:androidProiectul include dragonbones-release.aar (prebuilt NDK 27 fix) în libs/.
Pentru integrare în app:
- Plasează AAR-ul în
android/app/libs/ - Adaugă în
android/app/build.gradle.kts:implementation(files("libs/dragonbones-release.aar"))
Vezi Davinci198/dragonbones-aar-prebuilt pentru detalii.
- Prototip HTML funcțional (single-file)
- Portare React Native (Expo) cu swipe complet
- Integrare DragonBones (componentă nativă)
- Animații Lottie pentru tranziții
- Biblioteca media cu organizare pe foldere
- Playlist-uri și istoric
- Widget-uri pentru ecranul de blocare
MIT