예제 #1
0
        /// <summary>
        /// поиск по имени файла
        /// </summary>
        /// <param name="fileName"> название файла</param>
        /// <returns>преобразованный файл</returns>
        internal static MediaManager.Library.IMediaItem GetAudio(string fileName)
        {
            var    filesPath = Xamarin.Forms.DependencyService.Get <IFileSystem>().GetExternalDirectory(typeFiles.Audio);
            string findFilePath;

            if (File.Exists(findFilePath = Path.Combine(filesPath, fileName)))
            {
                MediaManager.Library.IMediaItem audio = CrossMediaManager.Current.Extractor.CreateMediaItem(new FileInfo(findFilePath)).Result;
                return(audio);
            }
            throw new FileNotFoundException();
        }
예제 #2
0
        /// <summary>
        /// Загрузить файлы во внешний кэш приложения
        /// </summary>
        /// <param name="files">файлы, которые необходимо загрузить</param>
        internal static void LoadToCache(params FileResult[] files)
        {
            FileInfo file;

            foreach (var item in files)
            {
                file = new FileInfo(item.FullPath);
                var filesPath = Path.Combine(Xamarin.Forms.DependencyService.Get <IFileSystem>().GetExternalDirectory(typeFiles.Audio), file.Name);
                if (!File.Exists(filesPath))
                {
                    File.WriteAllBytes(filesPath, File.ReadAllBytes(file.FullName));
                }
                MediaManager.Library.IMediaItem mediaItem = CrossMediaManager.Current.Extractor.CreateMediaItem(file).Result;
                if (App.Database.SelectAllFromTable <Audio>().FirstOrDefault(audio => audio.UriFile == mediaItem.FileName) == null) // если отсутсвует в базе данных
                {
                    Audio audio = new Audio()
                    {
                        NameAudio = mediaItem.DisplayTitle, Subtitle = mediaItem.DisplaySubtitle, UriFile = mediaItem.FileName, UriImage = "Resources/drawable/examle2.png"
                    };                                                                                                                                                                                 // изменить
                    App.Database.InsertIntoTable <Audio>(audio);
                }
            }
        }