SuperAPI AI 工具集

avkit

设计与创作

查看项目

更新于 10-15 23:34

技能介绍

用途:AVKit 用于在 iOS 应用中创建媒体播放体验,构建于 AVFoundation 之上,提供系统标准视频播放器、画中画(PiP)、AirPlay 路由、传输控制以及字幕/隐藏式字幕显示。目标环境为 Swift 6.3 / iOS 26+。

主要能力:AVPlayerViewController 提供系统播放控件、PiP、AirPlay、字幕与帧分析,支持全屏呈现与内嵌(子视图控制器)播放;SwiftUI 提供 VideoPlayer 视图;支持画中画(标准播放器默认启用,也可用 AVPictureInPictureController 自定义);支持 AirPlay(标准播放器自动支持,也可用 AVRoutePickerView 独立按钮);支持自定义播放速度(AVPlaybackSpeed)、跳过控制、Now Playing 集成;支持字幕语言限制与强制显示。

使用方式:播放前需配置音频会话,将类别设为 .playback、模式 .moviePlayback 并激活,同时在 Info.plist 的 UIBackgroundModes 添加音频后台模式,否则 PiP 与后台音频会静默失败。导入 AVKit 与 AVFoundation。全屏播放用 present 呈现 AVPlayerViewController;内嵌播放需 addChild、添加视图与约束后调用 didMove(toParent:)。SwiftUI 中用 @State 延迟创建 AVPlayer,在 .task 中初始化,避免在视图 init 中创建。PiP 恢复需实现 restoreUserInterfaceForPictureInPictureStopWithCompletionHandler 并调用 completionHandler(true)。

适用场景:需要系统标准视频播放界面、画中画、AirPlay 投送、字幕显示与播放速度控制的 iOS 媒体应用。

限制:不要子类化 AVPlayerViewController(苹果明确不支持);PiP 依赖正确的音频会话配置;VideoPlayer 未暴露全部 AVPlayerViewController 属性,高级控制需用 UIViewControllerRepresentable 包装;显示前应观察 isReadyForDisplay 以避免黑屏闪烁;网络流媒体需处理 HLS 失败与超时。具体价格、平台支持范围等资料暂未提供。