For Developers: Professional Android video player library for building video applications.
Open source under Apache 2.0 License.
功能完整的 Android 视频播放器 SDK
基于 GSYVideoPlayer 的增强视频播放器库,为 Android 开发者提供完整的视频播放解决方案
📱 下载 Demo APK | 📖 快速开始 | 📚 API 文档 | ❓ 常见问题
| 功能 | 说明 |
|---|---|
| 🎬 多播放内核 | 系统/ExoPlayer/IJK/阿里云,运行时切换 |
| 📝 字幕系统 | SRT/ASS/VTT 格式,大小可调 |
| 🔤 OCR 识别 | Tesseract 硬字幕识别 + ML Kit 翻译 |
| 🎤 语音识别 | Vosk 离线语音识别,实时字幕生成 |
| 💬 弹幕功能 | 大小/速度/透明度可调,支持发送 |
| 🎛️ 倍速播放 | 0.35x - 10x,长按倍速 |
| ⏰ 定时关闭 | 30/60/90/120 分钟 |
| ⏭️ 跳过片头尾 | 0-300 秒可调 |
| 📺 投屏 | DLNA 投屏支持 |
| 🖼️ 画中画 | PiP 小窗模式 |
| 📸 截图 | 视频截图保存 |
-
快速开始
-
功能指南
-
开发文档
-
其他
使用 JitPack
在项目根目录的 settings.gradle 中添加 JitPack 仓库:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' } // 添加 JitPack 仓库
}
}或者在 build.gradle (Project) 中添加:
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' } // 添加 JitPack 仓库
}
}在 app/build.gradle 中添加:
dependencies {
// OrangePlayer 核心库
implementation 'com.github.706412584:orangeplayer:1.0.7' // JitPack
// GSY 基础依赖(必需)
implementation 'io.github.carguo:gsyvideoplayer-java:11.3.0'
// ExoPlayer 播放内核(推荐)
implementation 'io.github.carguo:gsyvideoplayer-exo2:11.3.0'
}💡 提示:
- JitPack 版本:
com.github.706412584:orangeplayer:1.0.7(需要添加 JitPack 仓库)- 完整的依赖配置请查看 安装指南
<com.orange.playerlibrary.OrangevideoView
android:id="@+id/video_player"
android:layout_width="match_parent"
android:layout_height="200dp" />import com.orange.playerlibrary.OrangevideoView;
public class MainActivity extends AppCompatActivity {
private OrangevideoView mVideoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mVideoView = findViewById(R.id.video_player);
// 设置视频地址和标题
mVideoView.setUp("https://example.com/video.mp4", true, "示例视频");
// 开始播放
mVideoView.startPlayLogic();
}
@Override
protected void onPause() {
super.onPause();
mVideoView.onVideoPause();
}
@Override
protected void onResume() {
super.onResume();
mVideoView.onVideoResume();
}
@Override
protected void onDestroy() {
super.onDestroy();
mVideoView.release();
}
@Override
public void onBackPressed() {
if (mVideoView.isFullScreen()) {
mVideoView.exitFullScreen();
return;
}
super.onBackPressed();
}
}就这么简单!OrangePlayer 会自动创建和配置所有 UI 组件。
查看 完整示例代码,包含 15 个实用场景:
- 基础播放器 - 最简单的实现
- 带自定义请求头
- 播放状态监听
- 播放进度监听
- 播放完成监听
- 倍速播放
- 字幕加载
- 弹幕功能
- 播放列表
- 画中画模式
- 投屏功能
- OCR 字幕识别
- 语音识别字幕
- 播放器设置
- 错误处理
OrangePlayer 支持 4 种播放内核,可在运行时动态切换。
// 切换到 ExoPlayer(推荐)
videoView.selectPlayerFactory(PlayerConstants.ENGINE_EXO);
// 切换到 IJK 播放器
videoView.selectPlayerFactory(PlayerConstants.ENGINE_IJK);
// 切换到系统播放器
videoView.selectPlayerFactory(PlayerConstants.ENGINE_DEFAULT);
// 切换到阿里云播放器
videoView.selectPlayerFactory(PlayerConstants.ENGINE_ALI);详细对比和配置请查看 播放内核指南。
识别视频画面中的硬字幕并翻译。
dependencies {
implementation 'cz.adaptech.tesseract4android:tesseract4android:4.7.0'
implementation 'com.google.mlkit:translate:17.0.2'
}详细配置请查看 OCR 功能指南。
实时识别视频音频并生成字幕(需要 Android 10+)。
dependencies {
implementation 'com.alphacephei:vosk-android:0.3.47'
}详细配置请查看 语音识别指南。
dependencies {
implementation 'com.github.AnyListen:UaoanDLNA:1.0.1'
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
}详细配置请查看 投屏功能指南。
遇到问题?查看 常见问题解答:
更多问题请查看完整的 FAQ 文档。
完整的 API 参考请查看 API 文档。
- OrangevideoView - 主播放器视图
- OrangeVideoController - 播放器控制器
- SubtitleManager - 字幕管理器
- LanguagePackManager - OCR 语言包管理
- PlayerSettingsManager - 设置管理器
- PlayerConstants - 常量定义
详细结构请查看 STRUCTURE.md
# GSYVideoPlayer
-keep class com.shuyu.gsyvideoplayer.** { *; }
-keep class tv.danmaku.ijk.** { *; }
# OrangePlayer
-keep class com.orange.playerlibrary.** { *; }
# Tesseract OCR
-keep class com.googlecode.tesseract.android.** { *; }
# ML Kit Translation
-keep class com.google.mlkit.** { *; }
# Vosk 语音识别
-keep class org.vosk.** { *; }
# 阿里云播放器
-keep class com.aliyun.player.** { *; }
-keep class com.cicada.player.** { *; }
# DLNA 投屏
-keep class com.uaoanlao.tv.** { *; }
Apache License 2.0
QQ: 706412584
如有问题或建议,欢迎联系交流。





