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 { } }
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); }