An Android video editing application designed with accessibility as a top priority. Built for users who rely on screen readers (TalkBack, NVDA, JAWS) and keyboard navigation.
- Cut & Trim: Precise video cutting with accessible marker controls
- Live Split Mode: Real-time video segmentation while playing
- Multi-Video Merge: Combine multiple video clips seamlessly
- Speed Control: Adjust playback speed (0.5x, 1x, 2x)
- Audio Mute: Remove audio from video clips
- Music Mixing: Add background music with volume controls
- Auto-Ducking: Automatically lower music when speech is detected
- Fade In/Out: Smooth audio transitions (0-10 seconds)
- Audio Extraction: Export audio as MP3/M4A
- Loop Music: Repeat background music throughout the video
- Multiple Formats: MP4, WebM, MKV
- Quality Settings: High, Medium, Low
- Background Processing: Export operations run in the background, allowing you to use other apps or features.
- Robust Encoding: Standardized H264 (Video) and AAC (Audio) encoding for maximum compatibility.
- Fast Export: Optimized export for compatible formats
- Audio-Only Export: Extract audio without video processing
- Full TalkBack Support: Every UI element is properly labeled
- Custom TTS Engine: Choose your preferred Text-to-Speech engine (System, Google, Vocalizer, etc.) from Settings.
- Keyboard Navigation: Complete keyboard control
- Custom TalkBack Actions: Context-specific actions in video player
- Focus Mode: Hide tabs for distraction-free editing
- Haptic & Audio Feedback: Vibration and beep notifications
- Detailed Announcements: Verbose mode for screen reader users
- Visually impaired content creators
- Screen reader users (TalkBack, NVDA, JAWS)
- Keyboard-only navigation users
- Anyone seeking an accessible video editing solution
- Language: Kotlin
- UI Framework: Jetpack Compose
- Video Processing: Media3 Transformer API
- Audio Processing: Custom processors (Fade, Ducking, Stereo)
- Architecture: MVVM with Hilt dependency injection
- Minimum SDK: 26 (Android 8.0)
- Target SDK: 34 (Android 14)
- Android 8.0 (API 26) or higher
- Recommended: Android 10+ for best performance
- Storage permission for media access
-
Clone the repository:
git clone https://github.com/YOUR_USERNAME/AccessibleVideoEditor.git
-
Open in Android Studio (Hedgehog or later)
-
Sync Gradle and build the project
-
Run on device or emulator
(Coming soon - check Releases page)
- Select Media: Choose video or audio file from gallery
- Edit: Use Cut/Trim or Live Split mode
- Add Music (optional): Mix background audio
- Export: Choose format and quality, then save
- Open Cut/Trim tab
- Tap "OPEN LIVE SPLIT MODE"
- Play video and double-tap "SPLIT" to create segments
- Review segments and mark for deletion/mute
- Tap "Merge and Save" to finalize
- Seek Forward/Backward: Navigate timeline
- Set Start/End Marker: Define cut points
- Play Selection: Preview selected area
- Go to Start/End: Jump to video boundaries
- Semantic HTML/Compose: Proper roles and labels
- Logical Focus Order: Tab navigation follows visual flow
- State Announcements: Changes are announced to screen readers
- Error Handling: Clear, actionable error messages
- Consistent Patterns: Predictable UI behavior
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
When contributing, please ensure:
- All UI elements have
contentDescription - Custom actions are properly labeled
- Focus management is maintained
- Test with TalkBack enabled
This project is licensed under the MIT License - see the LICENSE file for details.
- Media3 library by Google
- Android accessibility team for TalkBack
- The blind and visually impaired community for feedback
For questions, suggestions, or accessibility feedback:
- Open an issue on GitHub
- Email: [Your Email]
- Video filters and effects
- Text overlay support
- Cloud storage integration
- Collaborative editing
- iOS version
Made with ❤️ for accessibility