Пользовательские заголовки Chromecast - PullRequest
0 голосов
/ 27 апреля 2019

Я начинаю приводить Android на устройство. Я только начинающий, не знаю много о кастинге. Сделал заявку с использованием exoplayer cast.

Некоторые URL-адреса hls нуждаются в пользовательских заголовках для отправки в игру. Как мне это сделать? Я видел некоторые коды пользовательских приемников. Но как отправить информацию заголовка http, такую ​​как пользовательский агент, этому пользовательскому получателю?

Я собрал проигрыватель при помощи exoplayer и могу разыгрывать обычные mp4 и m3u8, но для некоторых конкретных URL-адресов требуются пользовательский агент и заголовок, которые я хочу отправить из приложения, чтобы воспроизвести его на устройстве приведения. То, что я пробовал до сих пор:

String videoUrl = "http://customurl/test.m3u8";

      MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
      movieMetadata.putString(MediaMetadata.KEY_TITLE, "THOPTV");
      movieMetadata.putString(MediaMetadata.KEY_ALBUM_ARTIST, "Test Artist");
      movieMetadata.addImage(new WebImage(Uri.parse("https://github.com/mkaflowski/HybridMediaPlayer/raw/master/images/cover.jpg")));
      MediaInfo mediaInfo = new MediaInfo.Builder(videoUrl)
              .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
              .setContentType(MimeTypes.VIDEO_UNKNOWN)
              .setMetadata(movieMetadata).build();

      final MediaQueueItem[] mediaItems = {new MediaQueueItem.Builder(mediaInfo).build()};
      castPlayer = new CastPlayer(castContext);



      castPlayer.setSessionAvailabilityListener(new CastPlayer.SessionAvailabilityListener() {
          @Override
          public void onCastSessionAvailable() {
              castPlayer.loadItems(mediaItems, 0, C.TIME_UNSET, Player.REPEAT_MODE_OFF);
              castControlView.setVisibility(View.VISIBLE);
          }

          @Override
          public void onCastSessionUnavailable() {
          }
      });
...