Ejemplo n.º 1
0
        private void AudioShow()
        {
            AttachmentsList.Items.Clear();

            var getHistoryAttachments = GettingHistoryAttachments(VkNet.Enums.SafetyEnums.MediaType.Audio);

            foreach (var audio in getHistoryAttachments)
            {
                var aud = audio.Attachment.Instance as VkNet.Model.Attachments.Audio;
                // Если ссылка указывает на файл типа m3u8, переводим её в ссылку mp3
                string url = aud.Url.AbsoluteUri.Contains(".mp3") ? aud.Url.AbsoluteUri : M3U8ToMp3(aud.Url.AbsoluteUri);

                var preview = new AudioCover()
                {
                    Photo300 = ImgNotAvailable
                };

                try { preview = aud.Album.Thumb; } catch { }
                var attachment = new VkAttachment.VkAudio(aud.Title, url, preview);
                AttachmentsList.Items.Add(attachment);
            }
        }
Ejemplo n.º 2
0
        public static IEnumerable <IDownload> ToDownloads(this AudioCover cover, FilesystemTools filesystemTools, DirectoryInfo dir, ILog log)
        {
            var best = cover.Photo600
                       ?? cover.Photo300
                       ?? cover.Photo270
                       ?? cover.Photo135
                       ?? cover.Photo68
                       ?? cover.Photo34;
            var image = best == null
                ? null
                : new Uri(best);

            // TODO: i guess it's always jpeg?
            var ext = Path.HasExtension(image?.AbsoluteUri) ? Path.GetExtension(image?.AbsoluteUri) : ".jpg";

            if (image == null)
            {
                yield break;
            }
            var file = $"__cover{ext}";

            yield return(new Download(image, dir, file));
        }
Ejemplo n.º 3
0
 public async Task ProcessAttachment(AudioCover audioCover, DirectoryInfo workDir, CancellationToken token, ILog log)
 {
     await downloadQueueProvider.EnqueueAll(audioCover.ToDownloads(filesystemTools, workDir, log), token);
 }
Ejemplo n.º 4
0
 public VkAudio(string title, string url, AudioCover thumb, string extension = ".mp3") : base(title, url, extension)
 {
     PreviewUrl = thumb.Photo300;
     ClearNameFromIllegalSymbols();
 }