Exoplayer не проигрывает HLS радио
Есть метод, который на вход получает ссылку на онлайн радио. Если радио по протоколу HLS, то через пару секунд проигрывания радио останавливается. Почему так?
public void startPlayer(String url, Context context) {
if (player != null) {
player.stop();
}
Uri streamUri = Uri.parse(url);
DataSource.Factory dataSourceFactory = new DefaultHttpDataSource.Factory();
DefaultTrackSelector trackSelector = new DefaultTrackSelector(context);
player = new SimpleExoPlayer.Builder(context).setTrackSelector(trackSelector).build();
if (url.contains("m3u8")) {
HlsMediaSource hlsMediaSource = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(MediaItem.fromUri(streamUri));
player.setMediaSource(hlsMediaSource);
player.prepare();
} else {
MediaSource mediaSource = new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(MediaItem.fromUri(streamUri));
player.setMediaSource(mediaSource);
player.prepare();
}
player.setPlayWhenReady(true);
player.addListener(new Player.EventListener() {
@Override
public void onPlayerError(ExoPlaybackException error) {
player.stop();
player.setPlayWhenReady(true);
}
});
}