Изменить аудиодорожку в многоязычном видео на Chromecast - PullRequest
0 голосов
/ 28 мая 2020

Я использую Exoplayer для воспроизведения видео на устройстве android. В видео у меня 2 звуковые дорожки - английский sh и немецкий. В Exoplayer я могу их переключать. Но на castPlayer я не могу найти способ сделать это. Для трансляции я использую CustomReciever

<html>
<head>
</head>
<body>
  <cast-media-player id="player"></cast-media-player>

  <script type="text/javascript" src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
  </script>
  <script>

const context = cast.framework.CastReceiverContext.getInstance();
const playbackConfig = new cast.framework.PlaybackConfig();
// Get the license url for the app
context.getPlayerManager().setMediaPlaybackInfoHandler((loadRequest, playbackConfig) => {
  if (loadRequest.media.customData && loadRequest.media.customData.licenseUrl) {
    playbackConfig.licenseUrl = loadRequest.media.customData.licenseUrl;
  }
  return playbackConfig;
});

//  Add widevine for DRM
playbackConfig.protectionSystem = cast.framework.ContentProtection.WIDEVINE;



context.start({playbackConfig: playbackConfig});

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

Buld MediaInfo

MediaInfo mediaInfo = new MediaInfo.Builder(url)
    .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
    .setContentType(MimeTypes.APPLICATION_MPD)
    .setMetadata(movieMetadata)
    .setCustomData(jsonObj)
    .build();

Загрузить MediaInfo в CastPlayer

MediaQueueItem[] mediaItems = {new MediaQueueItem.Builder(mediaInfo).build()};
castPlayer.loadItems(mediaItems, 0, 0, Player.REPEAT_MODE_OFF);

Кто-нибудь может помочь? Как установить язык видео по умолчанию?

...