使用CastCompanionLibrary只播放音频?

时间:2014-05-22 02:07:05

标签: android chromecast google-cast

通过查看Google Cast中的示例,库,源代码等,我可以说整个Cast SDK相对复杂,对开发人员几乎没有抽象。

我认为这就是Google创建CastCompanionLibrary的原因......

然而,通过阅读.pdf,源代码和示例,我仍然不清楚只投放音频的正确方法是什么。

另一方面是尚未更新的Android-Studio" democastplayer"。

我已将此应用转换为Android Studio,并且可以使用我自己的应用ID,但我仍然有两个基本问题:

1)Cast SDK Mode和MediaRouter模式有什么区别? (即使查看源代码,我还没有找到一个优于另一个的差异或优势,或者更具体地说,何时使用每个以及为什么?)

2)如果您已经拥有一个服务,可以使用标准的MediaPlayer完成您所需的一切(因为您已经有一个流媒体音乐的应用程序),您已经缓冲(异步!)并在玩家准备好时播放,您还拥有栏中的通知,换句话说,您有一个媒体播放器应用程序...您将如何添加Chromecast支持?

CastCompanionLibrary似乎相对臃肿,不需要的功能(我不需要的播放器活动/片段,因为我已经拥有),我已经在我的应用程序中提供的通知支持......等等。

我是否应该以某种方式来接近它"第二个"我的应用程序中的播放器/服务是Chromecast独有的,因此负责所有通知,RemoteMediaPlayer(与我的常规MediaPlayer相对)等?

播放完成后,此播放器会给我一个回调吗?暂停? (所以我可以更新我的UI,进行API调用等)

我是谷歌演员的新手,如果有任何事情很容易看到,请提前道歉,请指出正确的资源(我已经阅读了样本和代码,但是还没有来这些简单的答案)。我根本不感兴趣。

我的音乐来自API(我必须请求一个曲目,我将获得媒体-mp3或类似的URL)。我还必须知道赛道何时到达某一点。我还没有看到RemoteMediaPlayer中与真实MediaPlayer类似的内容,这些回调对我来说似乎不完整。

我在这里缺少什么? :)

感谢。

1 个答案:

答案 0 :(得分:1)

您有不同的选择:

  • 您可以使用CastCompanionLibrary和子类DataCastManager添加所需的部分。那(以及下面的下一个选项)将处理连接问题等。
  • 您可以使用CastCompanionLibrary并使用VideoCastManager。如果您不需要通知,则不必使用它;除非你启用它,否则这是一个不会出现的功能。我还没有将这个课程用于音乐,但我无法看到任何重大问题。它的优点是它可以为您提供一组回调,以告知您音乐播放的状态以及一系列API,以便轻松完成其他任务。
  • 您可以从头开始编写自己的代码;您可以注册媒体状态更新回调,并在音乐停止,缓冲,...时通知这不是一项艰巨的任务,看样本会告诉您需要做什么;实际上,就SDK而言,在处理视频或音乐之间几乎没有什么区别。