【问题标题】:Google Chromecast Android SDK: RemoteMediaPlayer Load() returns Service_Missing errorGoogle Chromecast Android SDK:RemoteMediaPlayer Load() 返回 Service_Missing 错误
【发布时间】:2014-06-05 13:55:08
【问题描述】:

我正在尝试使用 google-cast sdk 流式传输 hls(adaptive-streams)。与示例 big_buck_bunny 示例链接一起使用时,集成工作正常。但是当我们提供实时 url 时 load() 命令会失败。它返回以下错误:{statusCode=SERVICE_MISSING, resolution=null}。我们在设备上安装了 google_play_store。流也支持 CORS,我们也提供相应的内容类型。我们正在使用一个示例 Cutome_receiver,它可以很好地与示例链接一起使用。注册过程也正确完成。任何帮助将不胜感激。

【问题讨论】:

  • 样式接收器或默认接收器会发生这种情况吗?
  • @AliNaddaf : 它带有 Styled 自定义接收器。
  • 我们也在这个自定义接收器中使用媒体播放器库支持
  • 我的问题是 Google 提供的 Styled 接收器是否会出现该问题,而不是自定义接收器;我们的 Styled 接收器(或默认接收器)支持 HLS,它始终是一个很好的测试,看看您的流是否可以使用。
  • 我们确实使用了谷歌提供的默认接收器,但仍然无法加载流。同样的错误。我们的流是自适应比特率流,猜想这不适用于默认接收器。

标签: android chromecast google-cast


【解决方案1】:

终于可以解决了。如果它可以帮助某人,我会在这里发布答案。 我们做了很多研究发现,在我们的案例中,为了流式传输 url,我们必须在 CORS 的 Origin: header 中明确提供域。例如:通常在添加 CORS 支持时,我们提供 Origin 标头如下

访问控制允许来源:*

这意味着该资源可以被任何域以跨站点的方式访问。

但可能是由于流式 CDN 将视频源限制为来自特定域,我们无法使用上述设置访问它。将 CORS 标头中的 Origin 更改为托管视频的域名后,我们终于可以流式传输视频了。

EX:如果资源所有者希望将资源的访问权限限制为仅来自 http://foo.example,他们会发回:

访问控制允许来源:http://foo.example

在 CORS 标头中。

这可能并非在所有情况下都是如此,但在我们的情况下。

【讨论】:

    猜你喜欢
    • 2014-03-23
    • 2015-08-12
    • 1970-01-01
    • 2015-10-17
    • 2016-10-24
    • 1970-01-01
    • 2021-06-18
    • 2016-05-29
    • 2011-04-06
    相关资源
    最近更新 更多