Bazı ses akışı için ExoPlayer kullanmaya başladım. "301 Kalıcı Olarak Taşındı" yönlendirme içeren bir URL'ye rastladım. ExoPlayer2 varsayılan olarak bunu işlemez.ExoPlayer2 - HTTP 301 yönlendirme çalışmasını nasıl yapabilirim?
Zaten bu konu gördüğüm: Orada yeni "allowCrossDomainRedirects" bayrağını eklemek demek https://github.com/google/ExoPlayer/issues/423
için ya bir HttpDataSource veya UriDataSource. Sorun bu sınıfların birini kullanın kalmamasıdır:
//I am NOT using SimpleExoPlayer because I need a different renderer.
exoPlayer = ExoPlayerFactory.newInstance(renderers, trackSelector, loadControl);
final DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(
context,
Util.getUserAgent(context, applicationInfo.getAppName())
);
// Produces Extractor instances for parsing the media data.
final ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
// This is the MediaSource representing the media to be played.
MediaSource mediaSource = new ExtractorMediaSource(
Uri.parse(media.getUriString()) /* uri */,
dataSourceFactory,
extractorsFactory,
10,
null /* eventHandler */,
null /* eventListener */);
exoPlayer.prepare(mediaSource);
ExtractorMediaSource yerine DataSource bir dataSourceFactory gerektirir görün. Aslında, ExoPlayer2 üzerinde HttpDataSource ve UriDataSource sınıflarını bile bulamıyorum. Kaldırılmış gibi görünüyor.
Bu nedenle, postada belirtilen bayrağı eklemenin bir yolunu bulamıyorum. Birisi bana yardım edebilir mi?
Örnek kod ve açıklama için teşekkürler - çok takdir! – gmcnaughton