2014-11-20 9 views
9

Ich bin neu in Android-Entwicklung und ich versuche, mehrere Videos in einem Listenansicht zu spielen. Gegenwärtig ist jedes Listenansichtszeilenelement ein VideoView. Dieser Ansatz hat nicht funktioniert, da die VideoViews abnormal funktionieren, wenn ich mit dem Scrollen anfange. Ich habe here, here, here erforscht und festgestellt, dass VideoViews und TextureViews innerhalb von ListViews und ScrollViews nicht gut funktionieren. Wie können Apps wie Vine und Instagram Videos in Listenansichten abspielen? Jede Hilfe wird sehr geschätzt?Wie spiele ich Video in ListView wie Instagram und Vine?

+0

prüfen diese http://stackoverflow.com/questions/5896921/android-scrollview-having-videoview-is-giving-problem/ – Kiloreux

+0

Sie bitte auf den folgenden Link [http: //stackoverflow.com/questions/5896921/android-scrollview-having-videoview-is-giving-problem/6832598#6832598][1] [1]: http: // Stackoverflow.com/questions/5896921/android-scrollview-habend-video-view-ist-geben-problem/6832598 # 6832598 –

+0

Wenn Sie noch keine Antwort gefunden haben, hier ist ein guter Artikel: https://medium.com/@v .danylo/implementing-video-playback-in-scroll-liste-listview-recyclerview-d04bc2148429 # .ty01zm2it – Andrei

Antwort

0

Für Videos in Listview zu spielen, müssen Sie Video auf Artikel Klicken Sie von Listview öffnen, dann können Sie Ihre Video-URL in String wie abrufen:

String myUrl = urHashMaparraylist.get(position).get("videolocation"); 

nun diese myURL zur nächsten Aktivität übergeben und stellen gerade diesen String als

Uri video = Uri.parse(myUrl); 
videoView.setVideoURI(video); 

listView.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
    { 
     String myUrl = urHashMaparraylist.get(position).get("videolocation"); 
     Intent n = new Intent(YourActivityName.this , NewActivityName.class); 
     n.putExtra("videolocation",myUrl); 
     startActivity(n);  
    } 

}); 

Jetzt in Ihrer nächsten Aktivität abrufen es als

Uri video = Uri.parse(url); 
videoView.setVideoURI(video); 

In einigen Fällen für Videoview einstellen, können Sie verwenden:

android:background:"#0000" 

ab Android Scrollview having videoview is giving problem

Statt Videoview Sie auch als Referenz verwendet TextureView versuchen können, können Sie die Nummer 2 Referenz siehe:

weitere Referenz für Video-Streaming ... können Sie die folgende uRL überprüfen: 1>http://developer.samsung.com/android/technical-docs/Android-Media-Streaming-Tutorial

2>http://developer.android.com/reference/android/view/TextureView.html

+0

Wenn Benutzer möchten Video an der gleichen Stelle des Zeilenelements abspielen, was sollte er dann verwenden? –

0

Obwohl die Antwort ist spät, aber ich denke, es könnte jemand auf der Suche nach dem gleichen helfen. Es gibt eine Beispielanwendung aus dem Github, die Implementierung für diese requirement.:-

https://github.com/danylovolokh/VideoPlayerManager

Zum Verständnis des Codes beziehen sich auf den folgenden Link hat, ist es wirklich hilfreich für Sie: -

https://medium.com/@v.danylo/implementing-video-playback-in-a-scrolled-list-listview-recyclerview-d04bc2148429

Das Problem ist, dass es in VideoView in listview und Umgang mit Playbacks gibt, so dass diese Bibliothek implementieren ist die VideoView basierend auf der TextureView. Hier ist es, wie es aussieht enter image description here