Я начинаю приводить 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() {
}
});