android - How can i stop exoplayer in viewpager2 on swipe
问题描述
I am building a simple app in which I stream videos from my firebase to my app which is like TikTok. For which I use Exoplayer but Exoplayer plays all videos at the same time and does not stop on swipe in viewpager2.
Video of the problem - https://youtu.be/TJQ6w4ZDfEE
Here is my code of 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);
}
Here is the code of fragment where I used 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();
}
解决方案
推荐阅读
- postgresql - 创建一个高可用和高可用的数据库
- php - 在ajax中自动加载数据如何将其更改为单击按钮
- powerbi - 如何创建自定义度量?
- excel - 如何在最后一个活动工作表之后使用 InputBox 添加工作表?
- css - 设置 Angular 材质滑块的样式,使其更厚/更高
- android - DetachCurrentThread 有时在 NDK 中崩溃
- java - Set 如何检查重复项?Java 哈希集
- javascript - 如何在Javascript中覆盖本机构造函数
- verilog - 在 Verilog 中查找 `define 的 MAX 值
- jquery - 如何按字母顺序列出多个下拉菜单 - 代码整理