Ich habe eine Videoaufzeichnungsanwendung mit Bibliotheksdialog erstellt. Im Bibliotheksdialog wird die Liste der aufgezeichneten Videos angezeigt, wobei jedes Element auf folgende Weise aus Symbol, Videotitel, Tags und Standortinformationen besteht:
Weiß jemand, ob es möglich ist, Symbole durch Video-Miniaturansichten zu ersetzen (Einzelbildvorschau)?
Vielen Dank!
Antworten:
Wenn Sie API 2.0 oder höher verwenden, funktioniert dies.
quelle
id
?Wenn Sie den Cursor nicht durchlaufen oder nicht durchlaufen können und nur Pfade oder Dateiobjekte haben, können Sie seit API Level 8 (2.2) die öffentliche statische Bitmap createVideoThumbnail (String filePath, int kind) verwenden.
Android-Dokumentation
Der folgende Code läuft perfekt:
quelle
t have my video ID. For better quality use
MediaStore.Video.Thumbnails.FULL_SCREEN_KIND`Verwenden der Klasse:
Wir können zwei Vorschaubildergrößen aus dem Video erhalten:
Thumbnails.MICRO_KIND
für 96 x 96Thumbnails.MINI_KIND
für 512 x 384 pxDies ist ein Codebeispiel:
quelle
Derzeit verwende ich folgenden Code:
Aber ich habe eine bessere Lösung mit der Glide- Bibliothek mit folgendem Code gefunden (sie speichert auch Ihr Bild zwischen und hat eine bessere Leistung als der vorherige Ansatz).
quelle
Ich empfehle Ihnen wirklich, die Glide- Bibliothek zu verwenden. Dies ist eine der effizientesten Methoden zum Generieren und Anzeigen eines Video-Miniaturbilds für eine lokale Videodatei.
Fügen Sie einfach diese Zeile zu Ihrer Gradle-Datei hinzu:
Und es wird so einfach wie:
Weitere Informationen finden Sie hier: https://futurestud.io/blog/glide-displaying-gifs-and-videos
Prost !
quelle
Diese Lösung funktioniert für jede Android-Version. Es hat sich in 1.5 und 2.2 bewährt. Dies ist keine weitere "Dies ist für Android 2.0+" -Lösung. Ich habe dies über eine E-Mail-Message-Board-Sammlungsseite gefunden und kann den ursprünglichen Link nicht finden. Alle Gutschriften gehen an das Originalplakat.
In Ihrer App würden Sie dies verwenden, indem Sie Folgendes aufrufen:
Irgendwo in seiner eigenen Funktion (außerhalb von OnCreate, ect) würden Sie Folgendes benötigen:
In Ihrem src-Ordner benötigen Sie ein neues Unterverzeichnis android / media, in dem die Klasse (kopiert von der Android-Quelle selbst) gespeichert ist, mit der Sie diese Funktion verwenden können. Dieser Teil sollte nicht geändert, umbenannt oder an einer anderen Stelle platziert werden. MediaMetadataRetriever.java muss sich in Ihrem Quellordner unter android.media befinden, damit dies alles funktioniert.
quelle
MediaMetadataRetriever
wird von API Level 10Versuchen Sie das, es funktioniert für mich
quelle
Android 1.5 und 1.6 bieten diese Miniaturansichten nicht an, 2.0 jedoch, wie aus den offiziellen Versionshinweisen hervorgeht :
quelle
Ich beantworte diese Frage zu spät, hoffe aber, dass sie dem anderen Kandidaten hilft, der vor dem gleichen Problem steht.
Ich habe zwei Methoden verwendet, um Miniaturansichten für die Videoliste zu laden. Die erste war
Es sieht gut aus, aber es gab ein Problem mit dieser Lösung, da es beim Scrollen der Videoliste aufgrund seiner großen Verarbeitung einige Zeit einfriert.
Danach habe ich eine andere Lösung gefunden, die mit Glide Library perfekt funktioniert.
Ich habe die spätere Lösung zum Anzeigen von Miniaturansichten mit Videoliste empfohlen. Vielen Dank
quelle
Dies ist der Code für Live-Video-Miniaturansichten.
quelle
Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(mMediaPath, MediaStore.Video.Thumbnails.MICRO_KIND);
Beachten Sie, dass alle Parameter gesetzt sind