Loupe

[Xamarin / Android] Comment créer la miniature d’une vidéo ?

Voici un petit post rapide dont le but est de vous expliquer comment créer la miniature d’une vidéo qui se trouve sur votre device.

Pour cela, il va falloir utiliser la méthode CreateVideoThumbnail de la classe ThumbnailUtils. Cette méthode prends en paramètre la vidéo dont on veut la miniature ainsi que le type de miniature, qui permettra de spécifier la taille de l’image générée:

  • MiniKind
  • FullScreenKind
  • MicroKind

Le code ci-dessous vous donne un aperçu de l’utilisation de la méthode:

var downloadsFolder = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads);
var downloadedFiles = await downloadsFolder.ListFilesAsync();
if (downloadedFiles != null && downloadedFiles.Any())
{
    var videoFile = downloadedFiles.FirstOrDefault(f => f.AbsolutePath.ToLowerInvariant().EndsWith(".mp4"));
    if (videoFile != null)
    {
        var thumbnail = ThumbnailUtils.CreateVideoThumbnail(videoFile.AbsolutePath, ThumbnailKind.MiniKind);

        var previewImageView = this.FindViewById<ImageView>(Resource.Id.previewImageView);
        previewImageView.SetImageBitmap(thumbnail);
    }
}

Au lancement de l’application, ce code est appelé lors du clic sur un bouton. Il permet de parcourir le répertoire Downloads de l’utilisateur (libre à vous de chercher dans un autre répertoire) puis récupère le premier fichier qui se termine par mp4 afin d’en générer la miniature:

image image

Pratique mais très efficace!

 

Happy coding!

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus