私はExoPlayerを使っていくつかのオーディオをストリーミングし始めました。 「301 Moved Permanently」リダイレクトを持つURLを見つけるまでは、すべてうまくいっていました。 ExoPlayer2はデフォルトでそれを処理しません。ExoPlayer2 - HTTP 301リダイレクトを行うにはどうしたらいいですか?
私はすでにこのスレッドを見てきました:そこ彼らは新しい「allowCrossDomainRedirects」フラグを追加すると言うhttps://github.com/google/ExoPlayer/issues/423
のいずれかHttpDataSourceまたはUriDataSource。問題は、私はこれらのクラスのいずれかを使用していないということです。
//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ではなく、データソースのdataSourceFactoryを必要とする方法を参照してください。実際、私はExoPlayer2上でクラスHttpDataSourceとUriDataSourceを見つけることさえできません。彼らは削除されたように見えます。
したがって、投稿に記載されているフラグを追加する方法が見つかりません。誰かが私を助けることができますか?
サンプルコードと説明をありがとう - 非常に感謝! – gmcnaughton