在 CastVideos-android 中与 chromecast 断开连接后恢复手机上的视频

Posted

技术标签:

【中文标题】在 CastVideos-android 中与 chromecast 断开连接后恢复手机上的视频【英文标题】:Resuming video on phone after disconnecting from chromecast in CastVideos-android 【发布时间】:2015-03-22 22:48:20 【问题描述】:

我目前正在使用出色的示例应用程序 CastVideos-android,但在与 Cast 设备断开连接后无法让它在手机上恢复视频播放。

我看到在 LocalPlayerActivity.java 中准备了这个功能并带有注释

只有当我们来自 CastControllerActivity 通过与设备断开连接

但它从未被调用(mShouldStartPlayback 始终为 false)。

有没有简单的方法让它工作?我会很感激任何关于从哪里开始的指示。

提前谢谢你!

【问题讨论】:

【参考方案1】:

由于应用程序的结构,该示例中没有该功能。例如,您正在投射电影 A,然后您返回并开始浏览并单击电影 B 以转到该电影的详细信息页面。现在电影 A 正在选角,您正在查看电影 B 的详细信息页面。如果您当时断开连接,是否应该将视频 B 替换为电影 A 并恢复?这不会是最好的用户体验。由于应用程序的结构方式,未实现。

【讨论】:

感谢阿里的回答!是的,这是有道理的。你能否给我一些关于如何实现它的指示?例如,断开连接时从接收器获取位置和 url。我找不到合适的方法。只有当用户正在浏览当前正在播放的同一部电影时,我才能尝试实现它。 如果您使用 CCL,在每个时间点您都可以通过调用 VideoCastManager#getRemoteMediaInformation() 或 getRemoteMediaPlayer().getApproximateStreamPosition() 等方法轻松获取有关远程媒体的信息。您基本上需要在要恢复视频的活动中注册一个 VideoCastConsumer 并让该消费者覆盖 onRemoteMediaPlayerStatusUpdate() 并在更新发生时缓存信息;然后当用户断开连接时,您可以查看媒体和流位置的缓存值并进行本地播放等。 阿里,感谢您的评论。我尝试在mCastConsumer = new VideoCastConsumerImpl() 下的 VideoBrowserActivity.onCreate 中覆盖 onRemoteMediaPlayerStatusUpdated,但它从未被调用,即使我看到调试中正在发生更新:D/ccl_VideoCastManager﹕ [v1.14] onRemoteMediaPlayerStatusUpdated() reached 您是否向 VideoCastManager 注册了您的消费者? 你又一次绝对正确,阿里,我的 castConsumer 在 onPause() 中被删除了。我将它移至 onDestroy() ,现在它按预期工作。我有最后一个问题 - 我在 onResume() 中调用 addVideoCastConsumer(),这在生命周期中发生多次,但仅在 onDestroy() 中删除消费者。这是一个正确的方法,还是我应该考虑将 addVideoCastConsumer 移动到 onCreate?感谢您的出色帮助。

以上是关于在 CastVideos-android 中与 chromecast 断开连接后恢复手机上的视频的主要内容,如果未能解决你的问题,请参考以下文章

CastVideos-android 重复资源

如何在 C/C++ 中与智能卡交互? [关闭]

如何在 C 中与 Linux 一起使用共享内存

C程序中与内存有关的常见错误

Unity3d开发中与oc交互之类型转换

CMD START不能在Windows 8中与处理器关联使用