我正在开始将Android投射到设备。我只是初学者,对铸造的了解不多。使用exoplayer cast制作了一个应用程序。
某些hls网址需要发送自定义标头才能播放。我该怎么做? 我看到了一些自定义接收方的代码。但是如何将http标头信息(如自定义用户代理)发送到该自定义接收方?
我已经用exoplayer构建了演员表播放器,可以播放普通的mp4和m3u8,但是某些特定的网址需要自定义用户代理和标头,我想从应用程序发送这些标题以在演员表设备中播放。到目前为止,我尝试过的是:
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() {
}
});