2

Here is the implementation of my exoplayer inside recycler view. I want the the exoplayer to stop when app goes in background.

protected void onBindViewHolder(@NonNull AudioModelHolder holder, int position, @NonNull AudioModel model) {
    AudioAttributes audioAttributes = new AudioAttributes.Builder()
            .setUsage(C.USAGE_MEDIA)
            .setContentType(C.CONTENT_TYPE_MUSIC)
            .build();

    holder.textViewTitle.setText(model.getTitle());
    player = new SimpleExoPlayer.Builder(context).build();
    player.setAudioAttributes(audioAttributes, true);
    holder.playerView.setPlayer(player);
    holder.playerView.setShutterBackgroundColor(Color.WHITE);
    MediaItem mediaItem = MediaItem.fromUri(model.getUrl());
    player.setMediaItem(mediaItem);
    player.setPlayWhenReady(false);
    player.prepare();

}

AudioFragment

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    view = inflater.inflate(R.layout.fragment_audio, container, false);

    MobileAds.initialize(getActivity(), initializationStatus -> {
    });

    AdView mAdView = view.findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);
    Query query = FirebaseFirestore.getInstance()
            .collection("audios");

    FirestoreRecyclerOptions<AudioModel> options = new FirestoreRecyclerOptions.Builder<AudioModel>()
            .setQuery(query, AudioModel.class)
            .build();
    adapter = new AudioAdapter(options, getActivity());
    RecyclerView recyclerView = view.findViewById(R.id.audio_recycler);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    recyclerView.setAdapter(adapter);

      return view;
}


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

}

I am using this player inside a tab layout. And the player layout resets when going to background but audio keeps playing.

Puneet
  • 21
  • 1

1 Answers1

0

you should stop video playing when app is going to background, the recyclerview and application wouldn't handle this

Dante
  • 21
  • 3