public static bool TryGenerateVideoThumbnail2(string localFile, CGSize size, out UIImage image, string extensionHint = ".mov") { image = null; try { const int secondToGet = 1; const int timeScale = 60; var asset = AVAsset.FromUrl(NSUrl.FromFilename(localFile)); var generator = new AVAssetImageGenerator(asset); var time = new CMTime(secondToGet, timeScale); CMTime actualTime; NSError error; var cgImage = generator.CopyCGImageAtTime(time, out actualTime, out error); if (error == null) { image = new UIImage(cgImage); image = UIImageExtensions.ResizeAndDispose(image, size, ResizeMethod.AspectFill, ResizeAlignment.CenterCenter ); return(true); } } catch { } return(false); }
public static bool TryGenerateVideoThumbnail(string localFile, CGSize size, out UIImage image) { image = null; try { const float secondToGet = 1.0f; using (var player = new MPMoviePlayerController(NSUrl.FromFilename(localFile))) { image = player.ThumbnailImageAt( secondToGet, MPMovieTimeOption.NearestKeyFrame ); image = UIImageExtensions.ResizeAndDispose(image, size, ResizeMethod.AspectFill, ResizeAlignment.CenterCenter ); player.Stop(); } } catch { return(false); } return(true); }