SuperAPI AI 工具集

hwc-media-content

通用与其它

查看项目

更新于 10-15 22:34

技能介绍

用途:在 Hotwire 应用中实现媒体密集功能,包括图片、视频、音频的上传与预览、播放控制、进度持久化,以及第三方媒体库的嵌入式集成,使用 Stimulus 和 Turbo Frames 实现。

主要能力与工作流:先识别媒体模式,即上传/预览、播放控制、进度持久化或嵌入库集成;将媒体状态保存在 Stimulus values 中,通过 value 回调和 targets 桥接第三方 API;优先使用浏览器原生 API,例如 URL.createObjectURL、Picture-in-Picture、IntersectionObserver、MediaSession;在 disconnect() 中清理所有已分配资源,包括观察者、blob URL、播放器实例和计时器;仅持久化有意的客户端状态,例如播放进度,并在加载时进行协调。

约束:图片或文件预览渲染后应撤销 blob URL;对浏览器 API(PiP、Web Share、MediaSession)应优先做特性检测;避免混合传输层关注点,媒体渲染属于本技能,流编排属于实时技能;对于基于时间的 UI(歌词、轮播、进度组件),保持 Frame 增量更新。

参考文件按需选择性加载,仅打开当前请求所需的文件。可用参考包括:通过 blob URL 实现上传预览、渐进式图片加载与 Blurhash、画中画行为、视频进度持久化、WaveSurfer 添加标记流程、WaveSurfer 移除标记流程、时间同步歌词 Frame 更新、Turbo Frames 下 Swiper 自动播放,完整目录见 references/INDEX.md。

相关但不属于本技能的场景应升级到邻居技能:基于推送的数据更新或自定义 Turbo Stream 动作使用 hwc-realtime-streaming;分页、标签、筛选导航使用 hwc-navigation-content;表单生命周期与校验使用 hwc-forms-validation;通用加载、进度、过渡 UX 使用 hwc-ux-feedback;纯 Stimulus API 架构使用 hwc-stimulus-fundamentals。

限制:资料未提供具体安装命令、收费、价格、平台支持与版本要求等信息。