예제 #1
0
        internal async System.Threading.Tasks.Task LoadFromFileAsync(string path, bool reopen)
        {
            if (!File.Exists(path))
            {
                return;
            }
            if (reopen == true)
            {
                fileInfos.Clear();
            }
            MP3Loader loader = new MP3Loader();
            var       tmp    = await loader.LoadFromFile(path);

            if (tmp != null)
            {
                OnLoadOne(this, new MP3LoadOneEventArgs()
                {
                    Itme  = tmp,
                    Index = 1,
                    Total = 1
                });
                fileInfos.Add(tmp);
            }
            LoadCompleted(this, new EventArgs());
        }
예제 #2
0
        internal async System.Threading.Tasks.Task LoadFromFolderAsync(string path, bool reopen)
        {
            if (!Directory.Exists(path))
            {
                return;
            }
            if (reopen == true)
            {
                fileInfos.Clear();
            }
            MP3Loader loader = new MP3Loader();
            var       files  = Directory.GetFiles(path, "*.mp3", SearchOption.AllDirectories);

            foreach (var item in files)
            {
                var tmp = await loader.LoadFromFile(item);

                if (tmp != null)
                {
                    OnLoadOne(this, new MP3LoadOneEventArgs()
                    {
                        Itme  = tmp,
                        Index = fileInfos.Count + 1,
                        Total = files.Length
                    });
                    fileInfos.Add(tmp);
                }
            }
            LoadCompleted(this, new EventArgs());
        }