这个项目能做什么

Chewie 是一个基于底层 video_player 插件构建的 Flutter 视频播放器 UI 包。应用程序初始化并配置一个 VideoPlayerController,将其连同播放选项传递给 ChewieController,然后显示一个 Chewie 小部件。README 强调 Chewie 仅作为界面层:由 video_player 产生的播放失败和 PlatformExceptions 不在其职责范围内。两个控制器在使用后都应被释放。 该包提供 Material、Material 桌面和 Cupertino 控件皮肤。其文档化功能包括自动播放、循环播放、可配置起始位置、直播流 UI、占位符、自定义进度条颜色、自定义覆盖层、全屏路由和方向处理、系统覆盖层管理、唤醒锁/睡眠控制、自定义错误小部件以及自定义控件。选项面板通常显示播放速度和字幕,但应用程序可以添加本地化的 OptionItem 条目,或通过 optionsBuilder 完全替换面板。pauseOnBackgroundTap 选项在点击视频区域时切换播放。 字幕以 Subtitle 对象列表形式提供,包含索引、开始、结束和文本字段。它们可以默认显示,使用 SubtitleStyle 进行样式设置,或通过 subtitleBuilder 完全渲染。Chewie 可以渲染常见的行内 WebVTT/SubRip 标记,如粗体、斜体、下划线和字体颜色标签。不支持的提示标签会被移除,同时保留其文本,转义符会被解码,解析有意保持宽松;标记渲染可以禁用。 章节以升序时间列表的 ChewieChapter 对象提供,生成分段进度条,在悬停或拖动时显示章节标题。投屏支持提供投屏按钮、设备选择器、投屏覆盖层、本地到远程切换以及控制路由,但有意不包含 Cast SDK 发送器。应用程序实现 ChewieCastController 用于发现、会话状态和远程播放,并提供接收端可访问的 CastMedia URL。连接时,Chewie 暂停本地播放,在当前位置加载远程媒体,显示覆盖层,并路由播放命令;断开连接则逆转此过程。示例中包含一个假投屏控制器,并且可以为 AirPlay 路由选择器等场景添加额外的控制栏小部件。 README 列出 Android、iOS 和 Web 平台徽章,包含一个示例应用程序,记录了从 0.9.0 之前版本的迁移,并指出平台注意事项:Android video_player 的缓冲状态问题可能隐藏控件,仅有部分解决方法,而 iOS 模拟器播放需要足够新的 Flutter 版本。