AudioPeel

🎵 音频提取器 (AudioPeel)

**中文 English**

一款轻量级 Android 视频转音频工具,支持快速提取并导出为 MP3 / M4A / WAV / FLAC / OGG 格式,无广告且完全免费

Version Min SDK Download APK

Android Kotlin Jetpack Compose FFmpeg

📸 界面展示

AudioPeel 截图


📋 目录


🌟 核心功能特性


🚀 技术栈与架构

本项目遵循 Google 推荐的现代化架构实践,完全使用原生方案构建:

模块 技术选型
开发语言 100% Kotlin
UI 框架 Jetpack Compose + Material Design 3 + Edge-to-Edge
多媒体处理 FFmpegKit (com.mrljdx:ffmpeg-kit-full)
音频引擎 AndroidX Media3 ExoPlayer
媒体探测 Android 原生 MediaExtractor + MediaMetadataRetriever
架构模式 MVVM + StateFlow 单向数据流
文件存储 Scoped Storage + MediaStore API(兼容 Android 10+)
包体优化 R8 压缩 + 资源压缩 + ABI 过滤(arm64-v8a, x86_64

💻 本地编译指南

环境依赖

  1. Android Studio(推荐版本 Iguana 2023.2.1 或更新)
  2. Java 11+(注:编译需兼容 Gradle 版本)
  3. Android SDK Level 36+(建议 Target SDK API 36)

兼容性: 最低支持 Android 7.0(API 24),目标 SDK API 36。

编译步骤

  1. 克隆本项目:
    git clone https://github.com/tianxing-ovo/AudioPeel.git
    
  2. 使用 Android Studio 打开项目根目录。
  3. 等待 Gradle 同步拉取依赖。
  4. 连接实体手机或配置好的 Android 模拟器。
  5. 点击 Run 'app' 或在 Terminal 执行 ./gradlew assembleDebug

💡 开发历程与技术探索

在工程演进过程中,我们解决了多个 Android 碎片化开发中的典型难题,希望能为遇到同类问题的开发者提供思路:


🔒 权限说明

本应用遵循最小权限原则,无需任何敏感权限:

权限 说明
无存储权限 使用 Android Photo Picker 选取视频,无需 READ_EXTERNAL_STORAGE
无网络权限 所有处理均在本地完成,不上传任何数据
无后台权限 不申请后台运行或通知权限

🤝 参与贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支:git checkout -b feature/your-feature
  3. 提交更改:git commit -m "feat: add your feature"
  4. 推送分支:git push origin feature/your-feature
  5. 发起 Pull Request

📜 许可证 (License)

本项目基于 MIT License 协议开源。欢迎任何出于学习、分享和二次创作的使用。