首页 > 解决方案 > 如何在 CAF 自定义播放器中不“加载”屏幕进行播放。(带有 QueueData 的 HLS)

问题描述

我想要无缝播放多个视频内容。(HLS/使用 queueData)

预加载是有效的!但是当视频发生变化时,会显示“加载”屏幕。

如何在 CAF 自定义播放器中不“加载”屏幕进行播放?

标签: javascriptchromecastgoogle-castgoogle-cast-sdk

解决方案


即使PRELOAD请求开始缓冲队列的下一项以减少下一个剪辑的加载时间,播放也永远不会“无缝”。

每次实际LOAD请求进入时,播放器将(默认情况下)切换到BUFFERING状态并显示关联的 UI,直到它返回PLAYING

Google 的自动播放用户体验指南非常清楚 UI 在队列播放时应如何表现 - 如果您想发布您的应用程序,您可能需要考虑遵守这一点。话虽如此:

看看你的 HTML - 你在使用<cast-media-player></cast-media-player>自定义标签吗?您可以使用 CSS 设置应用程序所有状态的外观 - 查看文档了解详细信息。

--buffering-image并且--spinner-image是您可以在此处更改的可自定义元素。再说一遍:当玩家进入缓冲状态时,这些总是会弹出,所以你必须想出一些比微调器和默认图像更令人不安的东西:也许是黑屏?

此外,您不能简单地使用 CSS 来摆脱这些:当初始化播放并构建队列时,您很可能仍想显示它们 - 所以完全禁用它们不是一种选择。棘手的部分是找到适当的事件来禁用和重新启用它们:

考虑使用MediaFinishedEvent禁用它们,并考​​虑将它们PLAYER_LOAD_COMPLETE恢复为默认值的事件。(BUFFERING事件也可能起作用,但当我尝试使用它时非常不可靠。)


推荐阅读