滑动时停止 viewpager2 中的 exoplayer

问题描述

我正在构建一个简单的应用程序,在该应用程序中,我将视频从 Firebase 流式传输到我的应用程序,就像 TikTok。我使用 exoplayer 但 exoplayer 同时播放所有视频,并且在 viewpager2 中滑动时不会停止。

我的应用问题视频 - https://youtu.be/TJQ6w4ZDfEE

这是我的viewpageradapter代码-

 public myviewholder(@NonNull View itemView) {
        super(itemView);

        imageView = (ImageView) itemView.findViewById(R.id.imageView);
        title = (TextView) itemView.findViewById(R.id.textVideoTitle);
        desc = (TextView) itemView.findViewById(R.id.textVideoDescription);
        firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
    }

    void setdata(final Post obj) {
        title.setText(obj.getCaption());
        desc.setText(obj.getCaption());
        fabvideo.setLabelText(obj.getPostid());

                simpleExoPlayer = new SimpleExoPlayer.Builder(this).build();
                playerView = findViewById(R.id.exoPlayerView);
                playerView.setPlayer(simpleExoPlayer);
                MediaItem mediaItem = MediaItem.fromUri(obj.getVideourl);
                simpleExoPlayer.addMediaItem(mediaItem);
                simpleExoPlayer.prepare();
                simpleExoPlayer.setPlayWhenReady(true);
                                                          }

这是我使用 viewPager2 的片段代码 -

    public View onCreateView(@NonNull LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_newsorted,container,false);
    getActivity().getwindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

    ViewPager2 viewPager2 = (ViewPager2) v.findViewById(R.id.vpager);

    DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Posts");

    FirebaseRecyclerOptions<Post> options =
            new FirebaseRecyclerOptions.Builder<Post>()
                    .setQuery(query,Post.class)
                    .build();

    adapter=new Likedsortedadapter(options,getContext());
    viewPager2.setAdapter(adapter);

    return v;
}

@Override
public void onStart() {
    super.onStart();
    adapter.startListening();
}

@Override
public void onStop() {
    super.onStop();
    adapter.stopListening();
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)