在 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 断开连接后恢复手机上的视频的主要内容,如果未能解决你的问题,请参考以下文章