Repository navigation
Releases: 1240444767/StarVideoPlayer
Releases · 1240444767/StarVideoPlayer
Release list
2.5.0
v2.5.0 — HLS 播放性能全面优化(2026-06-04)
缓冲速度
- HTTP 栈:
DefaultHttpDataSource→ OkHttp(连接池复用,HTTP/2 优先) - 同主机并发:5 → 32 条连接,HLS 分片并行下载
- LoadControl 优化:
- minBufferMs: 30s | maxBufferMs: 1800s | 起播缓冲: 5s | 恢复缓冲: 10s
- prioritizeTimeOverSizeThresholds: true(激进下载策略)
磁盘缓存(新增)
- 200MB LRU 磁盘缓存,播过的 HLS 分片自动落盘
- 回拖 / 重播 / 下集预加载 → 本地秒出,零网络请求
- 存放于系统缓存目录,空间不足时自动回收
缓冲进度显示(新增)
- SeekBar 第二进度条实时刷新播放 / 暂停 / 缓冲态下的缓冲百分比
- 进度条三层 Material You 动态色:
- 底轨
colorSurfaceContainer@ 55% | 缓冲colorPrimary@ 55% | 播放colorPrimary@ 100%
- 底轨
- 竖屏 / 全屏 SeekBar + 底部常驻进度条全部生效
稳定性
- OkHttpClient 全局单例,连接池共享
- 缓冲轮询遵循生命周期,onDetachedFromWindow 自动释放
- 反射注入全 try-catch,失败静默回退默认实现
依赖新增
- com.google.android.exoplayer:extension-okhttp:2.18.1
- com.squareup.okhttp3:okhttp:4.12.0
2.4.0
v2.4.0 (2026-06-11)
修复控件乱跳的隐藏问题,顺便修改一下功能失效的问题
2.3.0
v2.3.0 (2026-06-04)
重新手势操作UI(更加Material You设计)
2.1.9
- 移除 Media3 依赖和 Media3Player 适配器,恢复 ExoPlayer 2.x 默认
- 移除激进缓冲(EagerLoadControl)
- 移除设置面板「显示缓冲进度」开关
- 保留 v2.1.0 的统一 API(setButtonVisible / setColor)
- 保留底部栏单 XML、StarPlayerSettings、StarCutoutHelper 等优化
2.1.0
v2.1.0 (2026-05-03)
新增
- ✨ Media3 内核替代 ExoPlayer 2.x — HLS 缓冲追踪精准,自动识别 m3u8/MP4
- ✨ 激进缓冲 — 暂停时继续下载,最大 1 小时缓冲量,SeekBar 实时白色缓存条
- ✨ SeekBar 缓冲进度(
SecondaryProgress),设置面板可开关 - ✨ 统一 API ——
setButtonVisible(PlayerButton, vis)替代 25 个按钮方法 - ✨ 统一 API ——
setColor(PlayerColor, color)替代 7 个颜色方法
优化
- 🔧 底部栏 XML 三合一,切换零开销
- 🔧
StarPlayerSettings统一持久化 - 🔧
StarCutoutHelper消除刘海屏重复代码 - 🔧 选集适配器提取为
StarDefaultEpisodeAdapter(可继承扩展)
修复
- 🐛 画面比例重启后丢失 — 已持久化
2.0.0
更新日志
v2.0.0 (2026-05-02)
修复问题
- 🐛 修复画面比例设置重启后丢失 — 画面比例现已持久化到 SharedPreferences,重启自动恢复
优化改进
- 🔧 内置选集适配器
StarDefaultEpisodeAdapter改为 package-private,支持通过继承扩展 - 🔧 抽取
StarPlayerSettings统一管理所有 SharedPreferences 持久化 - 🔧 抽取
StarCutoutHelper合并 4 处重复的刘海屏适配代码 - 🔧 设置面板画面比例映射从字符串匹配改为资源 ID 匹配
- 🔧 清理
play/build.gradle重复的buildFeatures声明
1.9.0
更新日志
v1.9.0 (2026-04-07)
新增功能
- ✨ SeekBar 替换 Slider
- 进度条从 Material Slider 替换为原生 SeekBar
- 保留原有的拖动和进度显示功能
- ✨ 拖动时间指示器
- 拖动进度条时显示气泡指示器
- 气泡跟随 thumb 位置实时移动
- 显示当前拖动位置对应的时间
- ✨ 标题栏颜色自定义
setTitleTextColor(int color)- 设置标题文字颜色setSysTimeTextColor(int color)- 设置系统时间文字颜色setButtonIconTint(int color)- 设置标题栏按钮图标颜色setTitleContainerBackground(int color)- 设置标题栏背景颜色
- ✨ 底部控制栏颜色自定义
setTimeTextColor(int color)- 设置时间文字颜色setButtonIconTint(int color)- 设置底部按钮图标颜色setBottomContainerBackground(int color)- 设置底部栏背景颜色
1.8.0
v1.8.0 (2025-03-29)
优化改进
- 移除设置面板中的播放内核切换功能,改为用户自行设置
- 用户需要根据引入的依赖自行调用
setPlayerFactory()设置播放内核 - 避免因未引入某个播放内核导致切换时崩溃的问题
- 设置面板不再显示播放内核选择选项
- 用户需要根据引入的依赖自行调用
1.7.0
更新日志
v1.7.0 (2025-03-09)
新增功能
- ✨ 底部按钮可见性支持区分全屏/非全屏状态
- 新增
setVisibilityBottomNormal()设置非全屏状态下的按钮可见性 - 新增
setVisibilityBottomFullscreen()设置全屏状态下的按钮可见性 - 新增
setVisibilityBottomAll()一次性设置全屏和非全屏的按钮可见性(12参数) - 新增各按钮的
setXxxButtonVisibilityNormal()和setXxxButtonVisibilityFullscreen()方法 - 原有的
setVisibilityBottom()和setXxxButtonVisibility()方法仍保留,同时影响全屏和非全屏
- 新增
1.6.0
v1.6.0 (2025-03-07)
新增功能
- ✨ 倍速按钮点击弹出速度选择菜单
- 点击倍速按钮现在会弹出 PopupMenu 选择播放速度
- 支持 0.5x、0.75x、1.0x、1.25x、1.5x、2.0x、2.5x、3.0x 八档速度
- 菜单中当前速度选项显示为选中状态(带勾选标记)
- 选择速度后立即应用到当前视频播放
优化改进
- 倍速按钮不再打开设置面板,而是直接选择速度
- 提升了倍速选择的操作便捷性