Stoppen des Exoplayers onSwipe von ViewPager

8

Ich habe ViewPager mit einzelnem Fragmente Beispiel verwenden, in dem ich%% co_de Dateien wie Bilder zeigte,, Videos, Audio.

Ich habe Media implementiert, um ExoPlayer & amp; Video Dateien. Und Audio für Bilder.

diese die Speicherlecks mir die Freigabe das Glide Objekt wie folgt in ExoPlayer zu vermeiden:

%Vor%

Und in ItemViewerFragment.java Ich initialisiere die Ansicht wie folgt:

%Vor%

Ich verwende onViewCreated() . Dies ist die Methode FragmentStatePagerAdapeter :

%Vor%

Ich bin nicht in der Lage, das getItem des Fragments auf dem ersten Wisch onPause zu erkennen. Beim zweiten Durchstreichen werden Viewpager Dateien nicht mehr abgespielt.

In Aktivität habe ich versucht, video/audio hinzuzufügen:

%Vor%

Und in .addOnPageChangeListener :

%Vor%

Still ItemViewerFragment.java spielt weiter.

Hier ist ein Video-Link zum Screencast.

Demo Projekt GitHub Link .

Bitte beachten Sie, dass die Lösung gepostet unter funktioniert nicht .

    
Nilesh Deokar 11.10.2017, 09:15
quelle

2 Antworten

2

Hier ist der Code für den Pager-Adapter:

%Vor%

Hier ist der Scroll-Listener:

%Vor%

Für die Medien können Sie eine for-Schleife verwenden und alle Fragmente gleichzeitig zur Liste hinzufügen und diese dann zur Effizienz verwenden:

%Vor%

Dies stellt sicher, dass nur 3 Instanzen Ihres Fragments verfügbar sind, was genug ist.

Um ein einzelnes Fragment zu verwenden, würde ich vorschlagen, es so zu machen:

%Vor%

Dann können Sie Ihre Datei im onCreate of Fragment wie folgt abrufen:

%Vor%

Fügen Sie nun Ihre Fragmente dem Pager hinzu:

%Vor%

Hoffe, das hilft.

    
Sarthak Gandhi 11.10.2017 10:00
quelle
0

Es ist mehr als ein Jahr her, dass ich Exoplayer & amp; Ich habe ein ähnliches Problem gelöst. Bitte beachten Sie, dass sich die APIs ein wenig geändert haben, also nehmen Sie den folgenden Code, um eine Idee zu erhalten, wie Sie eine mögliche Lösung implementieren können. Bitte lassen Sie mich wissen, wenn es nicht funktioniert, ich werde die APIs weiter untersuchen und auf Sie zurückkommen.

Zur Lösung kommen:

%Vor%     
Umer Farooq 03.11.2017 08:43
quelle