Chromecast - 阻止 loadMedia 直到前一个返回

Posted

技术标签:

【中文标题】Chromecast - 阻止 loadMedia 直到前一个返回【英文标题】:Chromecast - block loadMedia until the previous one returns 【发布时间】:2014-03-30 02:01:18 【问题描述】:

我正在编写一个使用 chromecast 投射一系列图片的 ios 应用。当用户点击当前图片的右边缘时,应用会呈现下一张图片,并将下一张图片投射到更大的屏幕上。但是,如果用户在第二张图片出现在更大的屏幕上之前足够快地点击并调出第三张图片,那么即使第三张图片出现在设备上,第二张图片一旦出现,也会停留在那里。从 Google Cast SDK 看来,所有的投射请求都已排队,第三个应该会自动显示。那么这是否意味着我必须在发送方手动对请求进行排队?

【问题讨论】:

【参考方案1】:

我想您的图片可以在服务器(也可以是您的手机)上使用。你用的是什么接收器?你期望的行为是什么?例如,如果您需要查看所有图像,无论您投射它们的速度有多快,那么您的接收器应该将图像的 url 排队,当完全加载时,加载下一个,等等。如果您希望跳过上一个如果投射了新的图像,那么您的接收者应该在新的请求进入时立即丢弃以前的请求。

您也可以在发送方对它们进行排队(尤其是在第一种情况下),并且您的发送方应该听“图像已完全加载,因此请在下一个发送)但这不是最佳选择,因为

如果下一张图片在接收器上的场景后面加载,同时显示第一张图片,您的应用会创建更好的体验,以便它可以快速过渡到下一张,并且 您可能希望提供一种体验,即如果您将一些照片排队,即使您的手机断开连接,您的应用也可以在电视上播放它们(仅当图像从单独的服务器提供时才相关)。

另一个需要考虑的因素是,如果第二个设备连接到您的 Chromecsst 而第一个设备正在投射,您会期待什么?您是否希望第二个能够“参与”活动并进行投射。

无论如何,我们的 github 存储库中有一个示例代码,它显示了一个简单的视频播放列表(在接收器上排队)。

【讨论】:

我正在使用 SMR,因为我没有 html/javascript 经验,而且我的时间很短。 SMR队列​​不应该是把所有的请求都排队,一个接一个地处理吗? 如果 SMR 指的是样式化媒体接收器,则该接收器中没有内置队列。 但是在loadMedia:GCKMediaControlChannel API 中,它说它“加载、入队(在队列的末尾),并且可以选择开始播放新的媒体项。”这个“入队”指的是什么? 如果说在iOS端是不对的,没有排队机制;我将提交一个内部错误以更正文档。 也就是说,我必须切换到自定义接收器,对吗?

以上是关于Chromecast - 阻止 loadMedia 直到前一个返回的主要内容,如果未能解决你的问题,请参考以下文章

试图检测 google chromecast 并阻止它减慢速度

切换音轨时是不是可以阻止 Chromecast 自定义媒体接收器发出许可请求?

从 WebRTC 启动 Chromecast

停止iOS后Chromecast频道未启动频道

是否可以将来自电话麦克风的输入投射到接收器?

当 chromecast 关机时,chromecast 需要很长时间才能隐藏 chromecat 按钮