Esempio n. 1
0
        static void Main(string[] args)
        {
            MediaType media = MediaType.MusicalClip;

            if (media.HasFlag(MediaType.DrawedPicture))
            {
                Console.WriteLine("Contient des images dessinées");
            }
            if (media.HasFlag(MediaType.RealisticPicture))
            {
                Console.WriteLine("Contient des photos");
            }
            if (media.HasFlag(MediaType.Audio))
            {
                Console.WriteLine("contient du son");
            }
            if (media.HasFlag(MediaType.Music))
            {
                Console.WriteLine("Contient de la musique");
            }



            //1       2       4       8       16
            //Picture Audio
        }
Esempio n. 2
0
        private string[] OpenFiles(MediaType type)
        {
            var extsVideo = "All video types|*.mkv;*.mp4;*.m4v;*.ts;*.mts;*.m2ts;*.flv;*.webm;*.ogv;*.avi;*.divx;*.wmv;*.mpg;*.mpeg;*.mpv;*.m1v;*.dat;*.vob;*.avs|";
            var extsAudio = "All audio types|*.mp2;*.mp3;*.mp4;*.m4a;*.aac;*.ogg;*.opus;*.flac;*.wav|";
            var extsSub   = "All subtitle types|*.ssa;*.ass;*.srt|";
            var extsAtt   = "All font types|*.ttf;*.otf;*.woff;*.woff2;*.eot|";

            string exts = string.Empty;

            if (type.HasFlag(MediaType.Video))
            {
                exts += extsVideo;
            }

            if (type.HasFlag(MediaType.Audio))
            {
                exts += extsAudio;
            }

            if (type.HasFlag(MediaType.Subtitle))
            {
                exts += extsSub;
            }

            if (type.HasFlag(MediaType.Attachment))
            {
                exts += extsAtt;
            }

            var ofd = new OpenFileDialog
            {
                Filter      = exts += "All types|*.*",
                FilterIndex = 1,
                Multiselect = true
            };

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                return(ofd.FileNames);
            }

            return(Array.Empty <string>());
        }
Esempio n. 3
0
 private MediaItem GetMediaItem(string file)
 {
     if (MovieFileExtensions.Any(ex =>
                                 file.ToLower().EndsWith(ex, StringComparison.Ordinal)) &&
         _mediaTypes.HasFlag(MediaType.Video))
     {
         return new MediaItem
                {
                    MediaType = MediaType.Video,
                    Path      = "file://" + file
                }
     }
     ;
     if (ImageFileExtensions.Any(ex =>
                                 file.ToLower().EndsWith(ex, StringComparison.Ordinal)) &&
         _mediaTypes.HasFlag(MediaType.Image))
     {
         return new MediaItem {
                    MediaType = MediaType.Image, Path = file
         }
     }
     ;
     return(null);
 }
Esempio n. 4
0
        private void OnAuthorized()
        {
            DispatchQueue.MainQueue.DispatchAsync(() =>
            {
                _imageManager = new PHCachingImageManager();

                var options = new PHFetchOptions
                {
                    SortDescriptors = new[] { new NSSortDescriptor("creationDate", false) }
                };

                var assets = new List <PHAsset>();

                if (_mediaTypes.HasFlag(MediaType.Image))
                {
                    _images = PHAsset.FetchAssets(PHAssetMediaType.Image, options);
                    assets.AddRange(_images.OfType <PHAsset>());
                }

                if (_mediaTypes.HasFlag(MediaType.Video))
                {
                    _videos = PHAsset.FetchAssets(PHAssetMediaType.Video, options);
                    assets.AddRange(_videos.OfType <PHAsset>());
                }

                foreach (var asset in assets.OrderByDescending(a => a.CreationDate.SecondsSinceReferenceDate))
                {
                    AllAssets.Add(asset);
                }

                ShowFirstImage();

                AllAssets.CollectionChanged += AssetsCollectionChanged;
                PHPhotoLibrary.SharedPhotoLibrary.RegisterChangeObserver(this);
            });
        }