AudioPeel

🎵 AudioPeel

**中文 English**

A lightweight Android video-to-audio extraction tool, supporting MP3 / M4A / WAV / FLAC / OGG output — ad-free and completely free

Version Min SDK Download APK

Android Kotlin Jetpack Compose FFmpeg

📸 Screenshots

AudioPeel Screenshot


📋 Table of Contents


🌟 Features


🚀 Tech Stack & Architecture

Built following Google’s recommended modern architecture practices, entirely with native solutions:

Module Technology
Language 100% Kotlin
UI Framework Jetpack Compose + Material Design 3 + Edge-to-Edge
Media Processing FFmpegKit (com.mrljdx:ffmpeg-kit-full)
Audio Engine AndroidX Media3 ExoPlayer
Media Probing Native MediaExtractor + MediaMetadataRetriever
Architecture MVVM + StateFlow unidirectional data flow
File Storage Scoped Storage + MediaStore API (Android 10+ compatible)
Size Optimization R8 shrinking + resource shrinking + ABI filter (arm64-v8a, x86_64)

💻 Build Guide

Prerequisites

  1. Android Studio (Iguana 2023.2.1 or later recommended)
  2. Java 11+ (must be compatible with Gradle version)
  3. Android SDK Level 36+ (Target SDK API 36 recommended)

Compatibility: Minimum Android 7.0 (API 24), Target SDK API 36.

Build Steps

  1. Clone the repository:
    git clone https://github.com/tianxing-ovo/AudioPeel.git
    
  2. Open the project root directory in Android Studio.
  3. Wait for Gradle to sync and download dependencies.
  4. Connect a physical device or configure an Android emulator.
  5. Click Run 'app' or execute ./gradlew assembleDebug in the terminal.

💡 Development Notes

Throughout the development of this project, we tackled several common challenges in Android’s fragmented ecosystem. We hope these insights help other developers facing similar issues:


🔒 Permissions

This app follows the principle of least privilege and requires no sensitive permissions:

Permission Description
No Storage Permission Uses Android Photo Picker for video selection — no READ_EXTERNAL_STORAGE needed
No Network Permission All processing is done locally — no data is uploaded
No Background Permission No background execution or notification permissions requested

🤝 Contributing

Issues and Pull Requests are welcome!

  1. Fork this repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit your changes: git commit -m "feat: add your feature"
  4. Push the branch: git push origin feature/your-feature
  5. Open a Pull Request

📜 License

This project is open-sourced under the MIT License. Feel free to clone, learn from, share, and build upon it.