Вы можете легко это сделать. Вам уже нужно использовать ExoPlayer
, а ExoPlayer
- это метод seekTo()
.
В этом методе вы должны передавать только текущую позицию игрока, в которой вы остановлено раньше.
Шаг: -1 Вы должны изменить качество, например, 144p на 720p. В это изменяющееся время вы должны сохранить текущую ExoPlayer
текущую позицию, используя этот метод: -
Private int currentPosition=player.getCurrentPosition();
Шаг -2 После того, как вам нужно создать источник медиа-информации exoplayer: -
// Measures bandwidth during playback. Can be null if not required.
DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
// Produces DataSource instances through which media data is loaded.
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, getString(R.string.app_name)), bandwidthMeter);
// This is the MediaSource representing the media to be played.
MediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource("Pass Your Video Url");
// Prepare the player with the source.
player.prepare(videoSource);
Шаг 3: - проверьте это условие
if (this.currentPosition > 0) {
player.seekTo(this.currentPosition);
this.currentPosition = 0;
player.setPlayWhenReady(true);
} else {
player.setPlayWhenReady(true);
}
и это хорошо, что вы должны смотреть видео там, где вы остались.
Шаг 4: - Если ваше качество не очень хорошее, то используемое время является методом.
public int getWifiLevel()
{
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getRssi();
int level = WifiManager.calculateSignalLevel(linkSpeed, 5);
return level;
}
На основе уровня Wi-Fi или скорости соединения вы можете решить, имеет ли он низкое соединение или высокая связь inte rnet.