Example #1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (SettingsService.Current.IsStreamingEnabled)
            {
            }
            else
            {
                Download_Click(null, null);
                return;
            }

            var audio = GetContent(_message?.Content);

            if (audio == null)
            {
                return;
            }

            if (_message.Equals(_playbackService.CurrentItem))
            {
                if (_playbackService.PlaybackState == MediaPlaybackState.Playing)
                {
                    _playbackService.Pause();
                }
                else
                {
                    _playbackService.Play();
                }
            }
            else
            {
                _playbackService.Enqueue(_message);
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var voiceNote = GetContent(_message?.Content);

            if (voiceNote == null)
            {
                return;
            }

            var file = voiceNote.Voice;

            if (file.Local.IsDownloadingActive)
            {
                _protoService.Send(new CancelDownloadFile(file.Id, false));
            }
            else if (file.Remote.IsUploadingActive || _message.SendingState is MessageSendingStateFailed)
            {
                _protoService.Send(new DeleteMessages(_message.ChatId, new[] { _message.Id }, true));
            }
            else if (file.Local.CanBeDownloaded && !file.Local.IsDownloadingActive && !file.Local.IsDownloadingCompleted)
            {
                //_protoService.DownloadFile(file.Id, 32);
                _playbackService.Enqueue(_message);
            }
            else
            {
                if (_message.AreEqual(_playbackService.CurrentItem))
                {
                    if (_playbackService.PlaybackState == MediaPlaybackState.Playing)
                    {
                        _playbackService.Pause();
                    }
                    else
                    {
                        _playbackService.Play();
                    }
                }
                else
                {
                    _playbackService.Enqueue(_message);
                }
            }
        }