private static void setImage(BitmapSource frame, Guid mediaViewModelId, object timeSpanId) { MediaViewModel media = GetByKey(mediaViewModelId); media._thumbnail = frame; media.OnPropertyChanged("Thumbnail"); }
public override void markedAsToRemove() { base.markedAsToRemove(); List <MediaViewModel> lst = MediaViewModel.GetByDossierKey(ID_Dossier); foreach (MediaViewModel mediaViewModel in lst) { mediaViewModel.markedAsToRemove(); } }
public static void GenerateThumbnail(MediaViewModel mediaViewModel) { switch (mediaViewModel.MediaType) { case MediaType.Photo: ThreadPool.QueueUserWorkItem(delegate { PictureTools.GenerateThumbnailOfPicture(mediaViewModel.AbsoluteURL, mediaViewModel.ID_Media, setImage); }); break; case MediaType.Video: ThreadPool.QueueUserWorkItem(delegate { VideoTools.CaptureScreen(mediaViewModel.AbsoluteURL, mediaViewModel.ID_Media, new TimeSpan(0, 0, 30, 0), "Thumbnail", 0.5, null, setImage); }); break; case MediaType.Musique: ThreadPool.QueueUserWorkItem(delegate { AudioTools.ReadMP3CoverArt(mediaViewModel.AbsoluteURL, mediaViewModel.ID_Media, setImage); }); break; case MediaType.Autre: break; default: throw new ArgumentOutOfRangeException(); } }