gpt4 book ai didi

android - 当我回到上一个 View ViewPager2 时,ExoPlayer 不播放 onViewRecycled

转载 作者:行者123 更新时间:2023-12-04 08:57:07 31 4
gpt4 key购买 nike

我正在使用带有回收器 View 适配器的 ViewPager2 并设置以下内容,如下所示
当我滑动屏幕并更改索引时,它对新索引的工作正常,但是当我转到上一个索引时,它不会播放任何视频,为什么?有什么建议??
RecyclerViewAdapter.java

@Override
public void onViewDetachedFromWindow(@NonNull VideoPlayerViewHolder holder) {
super.onViewDetachedFromWindow(holder);
holder.pausePlayer();
holder.releasePlayer();
}

@Override
public void onViewAttachedToWindow(@NonNull VideoPlayerViewHolder holder) {
super.onViewAttachedToWindow(holder);
holder.startPlayer();
}

@Override
public void onViewRecycled(@NonNull VideoPlayerViewHolder holder) {
super.onViewRecycled(holder);
holder.startPlayer();
}


@Override
public void onBindViewHolder(@NonNull VideoPlayerViewHolder holder, int position) {
holder.setExoplayer(getItem(position).getUrl());
}
ViewHolderr.java
  public void startPlayer() {
player.setPlayWhenReady(true);
player.getPlaybackState();
}

public void pausePlayer() {

player.setPlayWhenReady(false);
player.getPlaybackState();
}


public void setExoplayer(String url) {
player = new SimpleExoPlayer.Builder(itemView.getContext()).build();
player.setRepeatMode(Player.REPEAT_MODE_ONE);
dataSourceFactory = new DefaultDataSourceFactory(itemView.getContext(),"exo-player");
mediaSource = new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(url));
player.prepare(mediaSource);
playerView.setPlayer(player); //need to transfer
player.seekTo(playbackPosition);
player.addListener(this);
}

public void releasePlayer() {
player.setPlayWhenReady(false);
player.release();
player.stop(true);
}

最佳答案

像这样附加 View 时设置 Exoplayer

@Override
public void onViewAttachedToWindow(@NonNull VideoPlayerViewHolder holder) {
super.onViewAttachedToWindow(holder);
holder.setExoplayer();
holder.startPlayer();
}

关于android - 当我回到上一个 View ViewPager2 时,ExoPlayer 不播放 onViewRecycled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63765355/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com