Releases: sunimp/AlloyPlayer
Releases · sunimp/AlloyPlayer
1.0.0
破坏性调整
- 重建 1.0.0 架构:
AlloyCore收敛为平台无关的播放类型、引擎协议、快照、事件和PlaybackSession。 AlloyAVPlayer改为提供AVPlaybackEngine,通过PlaybackSource、PlaybackEngineSnapshot和PlaybackEngineEvent与核心层交互。AlloyPlayerUIKit接管播放器视图、渲染承载、默认控制层、手势和全屏协调;UIKit 控制层改为UIKitControlOverlay。AlloyPlayerSwiftUI改为围绕AlloyPlayerController(session:)与AlloySwiftUIPlayerView构建。AlloyListPlayback改为驱动AlloyPlayerUIKit.AlloyPlayerView,不再依赖旧 ScrollView 扩展。AlloyPlayerUIKit和AlloyPlayerSwiftUI成为调用方场景入口,完整播放器能力不再要求调用方理解内部 target 拆分。AlloyPlayerHTTPMediaCacheSupport更名为同仓库可选 product;AlloyPlayerumbrella product 不再依赖 HTTPMediaCache。- 删除旧 Core 中的 UIKit 控制器、手势、方向、浮窗、事件 sink、兼容渲染视图和 KVO/logging 辅助公开面。
- 收窄内部渲染宿主、列表可见性计算和浮动播放容器等实现细节;公开入口保留为
AlloyPlayerView、ListPlaybackCoordinator与FloatingPlaybackCoordinator。
修复
- 修复浮动小窗只挂载在当前页面的问题;小窗现在挂载到 window 层级,支持拖动和关闭,Example 中不再展示播放、暂停或全屏控制。
0.3.1
调整
- 将
AlloyHTTPMediaCacheSupport依赖的 HTTPMediaCache 升级到1.0.3。
修复
- 继承 HTTPMediaCache
1.0.3的 HLS 代理播放修复:开启缓存后,带EXT-X-MEDIA音轨或字幕 rendition 的 master playlist 默认保留多个 video variants,避免 AVPlayer 失去 ABR 自适应码率空间。
0.3.0
新增
- 新增
PlayerState/PlayerEvent统一状态与事件输出。 - 新增
AlloyListPlayback模块,承接列表播放可见性计算与播放协调。 - 新增
FloatingPlaybackCoordinator,将浮动播放窗口从Player职责中迁出。 - 新增
PlaybackRenderSurface,为自定义播放引擎提供更稳定的渲染承载抽象。
调整
ControlOverlay拆分为播放、手势、方向和列表播放事件 sink 组合,降低自定义控制层接入成本。AlloySwiftUIControls不再依赖AlloyAVPlayer;默认 AVPlayer 便利入口由AlloyPlayerumbrella 模块提供。AlloyHTTPMediaCacheSupport移除拆散参数重载,统一通过AlloyHTTPMediaCacheConfiguration承载进阶配置。Player新增attach(to:)通用挂载入口,列表播放协调器不再依赖旧 ScrollView 扩展挂载方法。- 全屏模式选择迁移到
FullScreenModeResolver,横屏 scene 缺失时不再触发fatalError。 - App 生命周期订阅迁移到
PlayerLifecycleCoordinator,减少Player内部职责。
0.2.0
新增
- 新增
AlloyHTTPMediaCacheSupport可选模块,支持 HTTPMediaCache 代理播放。 - Demo 增加 HTTPMediaCache 播放开关与代理 URL 展示。
调整
- Package manifest 降至 SwiftPM 5.10 兼容版本。
AlloyHTTPMediaCacheSupportAPI 收敛为配置对象入口,便于统一控制端口、localhost 绑定和请求头。
修复
- 修复 Swift 6 并发检查下的 KVO 与关联对象 key 报警问题。
0.1.2
新增
- Demo 进度条统一展示播放进度、缓冲进度,并支持点击与拖拽 seek。
- Demo 进度条新增缓冲动画,覆盖默认控制层、自定义控制层和短视频场景。
- Demo 接入 LookInside-Release 0.2.0 的 LookInsideServer。
修复
- 修复短视频 Demo 点击进度条会导致视频暂停的问题。
- 修复初始加载、播放中缓冲不足、加载失败等状态下控制层展示不一致的问题。
- 修复加载失败后点击重试无效,以及失败态仍展示播放按钮和其它控制视图的问题。
- 修复进度条缓冲脉冲动画左右超出可视范围的问题。
验证
- git diff --check
- swift test