Exemple #1
0
        public async void Play(string text)
        {
            if (text == string.Empty)
            {
                return;
            }

            var tempList = new List <string>();

            try
            {
                // Cинтезируем голос из текста и кэшируем аудио
                var path = await _yandexSpeech.GetAudio(text);

                // TODO: Что-то произошло, аудиофайла нет, нужно записать в лог
                if (path == null)
                {
                    return;
                }

                tempList.Add(path);

                PlayAudio(tempList, 0);
            }
            catch { }
        }
Exemple #2
0
        public async void Play(string text)
        {
            if (text == string.Empty)
            {
                return;
            }

            var tempList = new List <string>();

            try
            {
                // Cинтезируем голос из текста и кэшируем аудио
                var path = await _yandexSpeech.GetAudio(text);

                // TODO: Что-то произошло, аудиофайла нет, нужно записать в лог
                if (path == null)
                {
                    throw new Exception();
                }
                tempList.Add(path);

                PlayAudio(tempList, 0);
            }
            catch
            {
                var synthesizer = new SpeechSynthesizer();
                synthesizer.SetOutputToDefaultAudioDevice();
                synthesizer.Speak(text);
            }
        }
        private async Task <bool> UploadAudioFromYandex()
        {
            var result = false;

            if (Caption == null || Caption == string.Empty)
            {
                MessageBox.Show("Поле Title не может быть пустым!", "Error", MessageBoxButton.OK, MessageBoxImage.Stop);
                return(result);
            }

            try
            {
                audioPanel.IsEnabled   = false;
                acceptButton.IsEnabled = false;
                AudioPath = await _yandexSpeech.GetAudio(captionTextBox.Text, (YandexVoice)voiceSelect.SelectedItem);

                result = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, string.Format("При загрузке аудио произошла ошибка (возможно отсутствует интернет соединение)! Подробнее: {0}", ex.Message), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            audioPanel.IsEnabled   = true;
            acceptButton.IsEnabled = true;
            return(result);
        }