Как отправить лицензию DRM из приложения отправителя (Android) на пользовательский получатель (Chromecast)? - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь транслировать контент Widevine DRM из приложения Android в Chromecast с помощью специального приемника (CAF), но я не знаю, как динамически установить 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();

}

1 Ответ

0 голосов
/ 22 октября 2018

MediaInfo.Builder позволяет отправлять пользовательские данные в формате JSON, также используя этот метод

public MediaInfo.Builder setCustomData (JSONObject customData)

...