【问题标题】:How to send DRM license from sender app (Android) to custom receiver (Chromecast)?如何将 DRM 许可证从发送者应用程序(Android)发送到自定义接收者(Chromecast)?
【发布时间】:2019-03-24 18:30:30
【问题描述】:

我正在尝试使用自定义接收器 (CAF) 将 Widevine DRM 内容从 Android 应用程序流式传输到 Chromecast,但我不知道如何动态设置许可证 URL。

在下面的接收方示例中,许可证是硬编码的,但我需要将其作为参数从发送方应用程序发送到接收方应用程序。

<html>
<head>
  <script type="text/javascript" src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
  </script>
</head>
<body>
  <cast-media-player></cast-media-player>
  <script>
    //cast.framework.CastReceiverContext.getInstance().start();

    const context = cast.framework.CastReceiverContext.getInstance();
    const playbackConfig = new cast.framework.PlaybackConfig();
    //Widevine license URL
    playbackConfig.licenseUrl = 'http://10.4.251.23:8094/license';
    context.start({playbackConfig: playbackConfig});

  </script>
</body>
</html>

这是发件人应用程序(Android):

String mStreamUrl = getStreamUrl();
String licenseUrl = getLicenseUrl();

MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);

movieMetadata.putString(MediaMetadata.KEY_TITLE, childTitle.getName());
movieMetadata.addImage(new WebImage(Uri.parse(childTitle.getBackgrounImage())));

return new MediaInfo.Builder(mStreamUrl)
        .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
        .setContentType("video/mp4")
        .setMetadata(movieMetadata)
        .build();

}

【问题讨论】:

    标签: android chromecast drm google-cast-sdk


    【解决方案1】:

    MediaInfo.Builder 允许您也使用此方法以 JSON 格式发送自定义数据

    public MediaInfo.Builder setCustomData(JSONObject customData)

    【讨论】:

      猜你喜欢
      • 2015-07-28
      • 1970-01-01
      • 2014-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-03
      • 1970-01-01
      • 2015-06-03
      相关资源
      最近更新 更多