Ich habe eine Listenansicht. Jedes Listenelement in der Listenansicht enthält eine Oberflächenansicht, eine Bildansicht und eine Schaltfläche. Anfangs wird die Sichtbarkeit der Oberflächenansicht weg sein. Nur die Bildansicht und die Schaltfläche sind sichtbar.Verwenden der Oberflächenansicht in der Listenansicht zum Abspielen von Videos
Sobald die Benutzer Taps auf dem Imageview oder die Taste der Surface sichtbar gemacht den Mediaplayer initialisiert und es beginnt das Video auf der Surface spielen. Wenn der Benutzer nach oben und unten scrollt, wird die Sichtbarkeit der Oberflächenansicht erneut geändert (weg). Es wurde nur eine Oberflächenansicht sichtbar gemacht.
Wenn der Benutzer eines der Listenelemente berührt, prüft es, ob ein anderer Mediaplayer bereits existiert, wenn er existiert, wird er freigegeben und der neue Mediaplayer wird mit einer neuen Instanz von Oberflächenansicht initialisiert.
Das funktioniert gut. Aber das Problem ist
Freigeben eines bereits vorhandenen Media Player und Initialisierung neuer Medien Player braucht Zeit (hauptsächlich zwischen den Methoden mediaplayer.prepareasyn() und mediaplayer.start()). Wenn Sie auf das Listenelement tippen und langsam meine Hand entfernen, funktioniert es gut ... ansonsten wird es nicht schnell abgespielt, wenn es sehr schnell angetippt wird.
Aktuelle Lösung
Ich habe versucht, eine postdelay zwischen diesen zwei Methoden anwenden es funktioniert gut. Ich wollte wissen, ob dies der effiziente Weg ist. Oder gibt es andere Wege, auf denen ich schneller reagieren kann?
können Sie Beispielcode oder ein Beispielprojekt zum Abspielen von Videos innerhalb von Listview freigeben? – keybee
@keybee Wenn deine App 4,1 und höher ist, kannst du die Texturansicht ohne Probleme anzeigen –
Hey @PreethiRao hast du das gelöst? Können Sie etwas Code für das gleiche teilen? –