# exoplayer-dev **Repository Path**: ssxiong/exoplayer-dev ## Basic Information - **Project Name**: exoplayer-dev - **Description**: ExoPlayer dev copy - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-04 - **Last Updated**: 2026-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Player

Player Icon

轻量、无广告的 Android 本地视频播放器,基于 AndroidX Media3 1.10.0 + FFmpeg 软解。 ## 特性 ### 🎬 全格式支持 内置 FFmpeg **40 个解码器**,软硬解自动切换: **视频:** H.264 / H.265 / VP8 / VP9 / MPEG-1 / MPEG-2 / MPEG-4 / VC-1 / H.263 / WMV1/2/3 / MSMPEG4 系列 **音频:** AAC / AC-3 / E-AC-3 / TrueHD / DTS / MP3 / Vorbis / Opus / FLAC / ALAC / AMR / PCM 系列 支持容器:MP4 / MKV / AVI / WMV / WebM / FLV / MPEG-TS / MOV / 3GP 等 ### 📝 字幕 - 内嵌字幕 + 外挂 SRT/ASS - 字幕时间偏移调节(±100ms) - 透明背景 + 白字黑描边 ### 🖥 NAS 播放 - 群晖 Synology dlink 直链播放 - SMB 协议支持 ### 🎮 播放控制 - 倍速播放(0.25x ~ 4x) - 画面比例切换(适应/拉伸/裁剪/原始) - 音轨选择 - 手势控制(音量/亮度/快进快退) ### 🔒 纯净 - **无广告**、无数据收集、无后台行为 - 不包含任何第三方广告/统计 SDK - 完全开源 ## 截图 | 主页 | 播放 | 设置 | |------|------|------| | 主页面 | 播放控制 | 设置页 | ## 构建 ### 环境要求 - Android Studio Hedgehog+ - Android NDK 27.0.12077973 - Java 17 ### 步骤 ```bash # 1. 克隆项目 git clone https://gitee.com/ssxiong/exoplayer-dev.git cd exoplayer-dev # 2. 编译 FFmpeg 解码器(首次需要,约 5-10 分钟) cd libraries/decoder_ffmpeg/src/main/jni bash build_ffmpeg.sh \ $(pwd)/.. \ $ANDROID_HOME/ndk/27.0.12077973 \ linux-x86_64 \ 21 cd ../../../.. # 3. 生成签名文件(发布版需要) keytool -genkey -v -keystore release.keystore \ -alias player -keyalg RSA -keysize 2048 -validity 10000 # 4. 配置签名密码 echo "KEYSTORE_PASSWORD=your_password" >> local.properties echo "KEY_PASSWORD=your_password" >> local.properties # 5. 构建 APK ./gradlew assembleRelease ``` 输出:`app/buildout/outputs/apk/release/app-release.apk` ## 项目结构 ``` exoplayer-dev/ ├── app/ # 主应用模块 │ └── src/main/java/com/example/player/ │ ├── PlayerActivity.java # 播放器核心 │ ├── MainActivity.java # 主页(视频列表) │ ├── SettingsFragment.java # 设置页 │ ├── NasBrowser*.java # NAS 浏览 │ └── SplashActivity.java # 启动页 ├── libraries/ │ ├── decoder_ffmpeg/ # FFmpeg 解码器模块 │ │ └── src/main/jni/ # FFmpeg 源码 + 编译脚本 │ ├── extractor/ # Media3 Extractor(含 FfmpegExtractor) │ ├── ui/ # PlayerView UI 模块 │ └── common/ # Media3 公共模块 ├── PLAYER_BUILD_GUIDE.md # 详细构建指南 ├── DECODER_LIST.md # 完整解码器列表 └── build_ffmpeg.sh # FFmpeg 一键编译脚本 ``` ## 技术栈 - **AndroidX Media3 1.10.0** — 播放器框架 - **FFmpeg** — 软件解码器 - **MediaCodec** — 硬件解码 - **ExoPlayer** — 播放引擎 ## 文档 - [构建指南](PLAYER_BUILD_GUIDE.md) — 详细构建步骤和常见问题 - [解码器列表](DECODER_LIST.md) — 40 个解码器完整清单 - [更新日志](CHANGELOG.md) — 版本变更记录 ## 开源协议 基于 AndroidX Media3(Apache 2.0)修改。 本项目采用 **MIT License** 开源。