#android #http-live-streaming #exoplayer #exoplayer2.x
#Android #http-прямая трансляция #exoplayer #exoplayer2.x
Вопрос:
Если я запускаю свое приложение с отключенным Wi-Fi, загруженные в автономном режиме видео воспроизводятся нормально.
Но после переключения Wi-Fi (вкл., затем выкл.) я получаю черный экран при просмотре того же видео сейчас. Только сообщение об ошибке:
E/ExoPlayerImplInternal: Source error.
Кто-нибудь сталкивался с чем-то подобным?
Код для получения медиаисточника:
SimpleCache sc = ...
DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(app, "exoplayer-test");
DefaultExtractorsFactory extractorsFactory = new DefaultExtractorsFactory().setConstantBitrateSeekingEnabled(true);
CacheDataSourceFactory cacheDataSourceFactory = new CacheDataSourceFactory(sc, dataSourceFactory, CacheDataSource.FLAG_BLOCK_ON_CACHE);
MediaSource mediaSource = new HlsMediaSource.Factory(cacheDataSourceFactory).createMediaSource(uri);
Ответ №1:
Кажется, это исправлено, когда я устанавливаю PlaylistParserFactory
mediaSource = new HlsMediaSource.Factory(cacheDataSourceFactory)
.setPlaylistParserFactory(
new FilteringHlsPlaylistParserFactory(
new DefaultHlsPlaylistParserFactory(),
Collections.singletonList(new StreamKey(HlsMasterPlaylist.GROUP_INDEX_VARIANT, 0))))
.createMediaSource(uri);
Я следовал приведенным здесь инструкциям https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/source/hls/offline/HlsDownloader.html для загрузки оригинального видео