Пример #1
0
        public void OpenMedia()
        {
            var message = CurrentItem as TLMessage;

            if (message == null)
            {
                return;
            }

            var mediaVideo = message.Media as TLMessageMediaVideo;

            if (mediaVideo != null)
            {
                var video = mediaVideo.Video as TLVideo;
                if (video == null)
                {
                    return;
                }

                if (string.IsNullOrEmpty(mediaVideo.IsoFileName))
                {
                    mediaVideo.IsCanceled          = false;
                    mediaVideo.DownloadingProgress = mediaVideo.LastProgress > 0.0 ? mediaVideo.LastProgress : 0.001;
                    _downloadVideoFileManager.DownloadFileAsync(
                        video.DCId, video.ToInputFileLocation(), message, video.Size,
                        progress =>
                    {
                        if (progress > 0.0)
                        {
                            mediaVideo.DownloadingProgress = progress;
                        }
                    });
                }
                else
                {
                    var launcher = new MediaPlayerLauncher();
                    launcher.Location = MediaLocationType.Data;
                    launcher.Media    = new Uri(mediaVideo.IsoFileName, UriKind.Relative);
                    launcher.Show();
                }
                return;
            }
        }