Releases: 706412584/orangeplayer
Releases · 706412584/orangeplayer
修复音量滑动手势显示负数问题
Full Changelog: 1.0.6...1.0.7
修复和增加一些功能
优化OCR识别:添加图像预处理以改善复杂背景识别;优化语音识别字幕显示:超过10字符自动清空
优化播放器功能和Demo界面
主要更新:
- 优化竖屏全屏时选集按钮显示(缩小字体和padding)
- 修复自动旋转设置同步问题(setAutoRotateOnFullscreen同步到PlayerSettingsManager和CustomFullscreenHelper)
- 修复文档中的API错误(exitFullScreen->stopFullScreen, getTitle->getVideoTitle, playIndex/playNext方法)
- Demo添加丰富的功能演示按钮:
- 倍速测试、切换播放器、字幕测试、画中画
- 添加选集、显示选集、下一集、播放方式
- 投屏、下载视频、清空选集、更多测试
- 优化Demo布局:按钮区可滚动,日志区固定可见(150dp)
- 更多测试功能:循环播放、静音、亮度调节、音量调节、截图提示、播放信息
修复加载动画异常
Full Changelog: 1.0.4...1.0.5
修复选集标题更新和播放器内核自动检测,优化一些问题
修复问题:
-
选集切换时标题不更新
- 原因:setTitle() 和 setVideoTitle() 只更新成员变量,未更新 TitleView 显示
- 解决:添加 updateTitleViewDisplay() 方法,遍历父容器找到正确的 TitleView 实例
- 避免全屏模式下的多实例问题
-
使用最小依赖时提示缺少 IJK so 库
- 原因:播放器默认设置为 IJK 内核,但用户未添加 IJK so 库依赖
- 解决:添加 isIjkPlayerAvailable() 方法检测 IJK so 库是否可用
- 如果不可用,自动回退到系统播放器并更新设置
技术实现:
-
OrangeVideoController.updateTitleViewDisplay()
- 方案一:通过 VideoView 获取 TitleView(检查是否附加到窗口)
- 方案二:遍历父容器找到正确的 TitleView 实例
- 确保在全屏模式下也能正确更新标题
-
OrangevideoView.isIjkPlayerAvailable()
- 尝试加载 IJK 的 native 库(ijkffmpeg、ijksdl、ijkplayer)
- 捕获 UnsatisfiedLinkError 判断 so 库是否存在
- 返回检测结果
-
OrangevideoView.initPlayerFactory() 增强
- 检测 IJK 内核是否可用
- 检测 ExoPlayer 是否可用
- 检测阿里云播放器是否可用
- 所有内核不可用时自动回退到系统播放器
- 添加详细的日志输出,便于调试
- 自动更新用户设置,避免下次启动再次尝试不可用的内核
修复多个播放器问题并优化代码
-
修复 setUp 后立即播放时加载动画显示在准备视图上的问题
- 在 startPlayLogic() 中检测 PrepareView 是否附加到窗口
- 如果未附加,自动延迟到下一帧重新调用
- 将 STATE_PREPARING 状态通知移到 PrepareView 附加后发送
- 确保状态通知时序正确,PrepareView 能正确隐藏
-
修复横竖屏切换后误触发 PrepareView 点击事件的问题
- 在点击事件中添加可见性检查
- 在状态变化时控制 clickable 属性
- STATE_IDLE 时启用点击,其他状态禁用点击
- 双重保护机制防止误触发
-
修复 setUp 传入的标题不显示的问题
- 添加 updateTitleView() 方法
- 在所有 setUp() 方法中自动更新 TitleView 标题
- 无需手动调用 getTitleView().setTitle()
-
优化重复代码
- 提取 saveVideoUrl() 公共方法
- 消除 setUp 方法中的重复代码
- 代码更简洁易维护
-
优化全屏重力感应旋转逻辑
- 全屏模式下只在横屏的两个方向之间切换
- 忽略竖屏方向(0度和180度),防止误退出全屏
- 只响应正横屏(270度)和反横屏(90度)
- 避免左右旋转时切换到竖屏模式
-
优化倍速功能
- 根据播放器内核动态调整倍速范围
- IJK 内核: 普通倍速最高 2.0x, 长按倍速 1.5x-2.0x
- 其他内核: 普通倍速最高 5.0x, 长按倍速 2.0x-3.0x
- 长按时自动限制 IJK 内核倍速不超过 2.0x
增加语音识别字幕功能
Full Changelog: 1.0.2...1.0.3