来自 Android 设备的 Google ChromeCast 播放列表

Posted

技术标签:

【中文标题】来自 Android 设备的 Google ChromeCast 播放列表【英文标题】:Google ChromeCast Playlist from Android Device 【发布时间】:2014-04-11 03:51:10 【问题描述】:

我正在使用来自@commonsware 的sample app for the RemotePlaybackClient 将视频从一个网址播放到 Google ChromeCast 加密狗,该应用程序的工作原理就像一个魅力,但我想实现一个播放列表,任何知道如何将播放列表从 android 设备发送到 ChromeCast? 像往常一样,我不需要代码,只需要链接、教程等……谢谢。

【问题讨论】:

【参考方案1】:

您使用的是自定义接收器吗?

如果是这样,您可以使用播放列表将 json 传递给此类接收器,并使用播放状态管理该列表。

【讨论】:

【参考方案2】:

您可以尝试查看“mediaList”对象here。那是您的播放列表对象。

这是我使用的一个完全不同的项目(不是 mediaRouter api 而是 ccl),因为我想实现一个播放列表并且不想使用我自己的接收器应用程序。我想看看默认接收器是否可以与现有的 github 发送器样本协作 - 稍作改动以操作在“mediaList”中实现的播放列表,并在默认接收器应用程序的状态被中继时发送适当和连续的播放指令到默认接收器应用程序正常的“消费者”消息流量指示 state=ready。

D/ccl_VideoCastManager(31057): onApplicationStatusChanged() reached: Ready To Cast

因此,当默认接收者触发“就绪”消息时,senderApp 可以调用 getNext 从“mediaList”返回一个条目,然后向默认接收者发送“play(mediaInfo.entry)”。

onApplicationStatusChanged() 是 ccl 用于在本地/远程播放器之间通信/同步播放器状态的 interface。当默认远程状态更改为“准备投射”时,您可以使用“VideoCastManager”及其基类来选择下一个 MediaInfo 条目并格式化消息以供遥控器播放...

this.startCastControllerActivity(this.mContext, nextMediaInfo, 0, true);

上面来自 sender/ccl base 的代码告诉接收者播放发送者确定是列表中下一个的项目。

注意:我被建议在我将编写的自定义接收器应用程序上实现播放列表。我没有那么雄心勃勃,并在 sender/ccl 类上找到了一个非常简单的 hack,它对我来说足够可靠。

【讨论】:

在发件人中有播放列表的问题是,如果您的发件人断开连接,播放列表的概念就消失了,所以只要您是唯一连接的人并且只要您可以确定您的发件人将无法连接,您很好;如果违反了这两个中的任何一个,那么您的方法就会失败。 是的,断开连接有点问题。如果控制器设备在 1 分钟后进入睡眠状态,但播放列表中项目的总长度大于 1 分钟,则在控制器设备上的显示屏变暗后不久,播放列表播放中断。节省了很多工作,而不必编写自定义接收器,我将使用它一段时间。

以上是关于来自 Android 设备的 Google ChromeCast 播放列表的主要内容,如果未能解决你的问题,请参考以下文章

“Maps SDK for Android v.3.0.0 BETA”能否在没有 Google Play 服务的设备上运行?

Android c2dm 自动注销

Maps SDK for Android v.3.0.0 BETA "是否可以在没有Google Play服务的设备上运行?

安全不了的 Android,想不明白的 Google

Google IoT Core:我如何知道消息来自哪个设备?

来自 Google Play Services Fused Location Provider 的海拔高度