如何解决ExoPlayer 没有从特定位置启动视频android studio
我想在 exoPlayer 中开始一个视频,以便在开始时从特定位置开始。但它总是从 0 位置开始。在重新启动时停止活动后,它也不会从当前位置开始,而是从初始位置开始。请帮帮我。
///////////////////////////////////////////// ///////////////////////////////////////////////// ///////////////////////////////////////////////// ///////////////////////////////////////////////// /////
public class VideoDetails extends AppCompatActivity{
PlayerView playerView;
SimpleExoPlayer player;
String videoURL = "https://webflix1122.s3.ap-south-1.amazonaws.com/cokestudio.mkv";
private long playBackPosition = 20000;
ProgressBar loadingBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_details);
playerView = findViewById(R.id.player_view);
loadingBar = findViewById(R.id.loading_bar);
}
@Override
protected void onStart() {
super.onStart();
player = ExoPlayerFactory.newSimpleInstance(this);
playerView.setPlayer(player);
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,Util.getUserAgent(this,"MyApp"));
MediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(videoURL));
player.prepare(videoSource);
player.seekTo(playBackPosition);
player.setPlayWhenReady(true);
player.addListener(new Player.EventListener() {
@Override
public void onPlayerStateChanged(boolean playWhenReady,int playbackState) {
switch (playbackState){
case ExoPlayer.STATE_READY:
loadingBar.setVisibility(View.GONE);
break;
case ExoPlayer.STATE_BUFFERING:
loadingBar.setVisibility(View.VISIBLE);
break;
}
}
});
}
@Override
protected void onPause() {
super.onPause();
player.setPlayWhenReady(false);
}
@Override
protected void onResume() {
super.onResume();
player.setPlayWhenReady(true);
}
@Override
protected void onStop() {
super.onStop();
playBackPosition = player.getCurrentPosition();
playerView.setPlayer(null);
player.release();
}
@Override
protected void onRestart() {
super.onRestart();
player.seekTo(playBackPosition);
player.setPlayWhenReady(true);
}
@Override
protected void onDestroy() {
super.onDestroy();
player = null;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。