如何从xamarin形式的视频生成缩略图

use*_*478 3 video-thumbnails xamarin xamarin.forms

我们正在使用 Xamarin 表单制作视频录制应用程序。

我的问题是如何从 Xamarin 形式的视频生成缩略图?

小智 6

在 iOS 上你可以这样做:

public ImageSource GenerateThumbImage(string url, long usecond)
{      
    AVAssetImageGenerator imageGenerator = new AVAssetImageGenerator(AVAsset.FromUrl((new Foundation.NSUrl(url))));
    imageGenerator.AppliesPreferredTrackTransform = true;
    CMTime actualTime;
    NSError error;
    CGImage cgImage = imageGenerator.CopyCGImageAtTime(new CMTime(usecond, 1000000), out actualTime, out error);
    return ImageSource.FromStream(() => new     UIImage(cgImage).AsPNG().AsStream());mageSource.FromStream(() => new     UIImage(cgImage).AsPNG().AsStream());
}
Run Code Online (Sandbox Code Playgroud)

在安卓上:

 public ImageSource GenerateThumbImage(string url, long usecond)
 {   
    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    retriever.SetDataSource(url, new Dictionary<string, string>());
    Bitmap bitmap = retriever.GetFrameAtTime(usecond);
    if (bitmap != null)
    {
        MemoryStream stream = new MemoryStream();
        bitmap.Compress(Bitmap.CompressFormat.Png, 0, stream);
        byte[] bitmapData = stream.ToArray();
        return ImageSource.FromStream(() => new MemoryStream(bitmapData));
    }
    return null;
 }
Run Code Online (Sandbox Code Playgroud)