Example #1
0
        public async void vocalizeText(string text)
        {
            string audioFile   = "";
            var    webServices = new ITranscribeAndVocalize <Voice>[]
            {
                amazonWebService, googleWebService, ibmWebService
            };
            var activeService = webServices[settings.generalSettings.ActiveTextToSpeechService - 1];

            audioFile = await activeService.ToAudio(text);

            var textToSpeech = new TextToSpeech {
                Text = text, AudioFile = audioFile
            };

            textToSpeech.Id = await textToSpeechRepository.Insert(textToSpeech);

            var viewModel = new VocalizedViewModel(textToSpeech, container.Resolve <IAudioPlayer>(), container.Resolve <ISettingsService>());

            VocalizedViewModels.Add(viewModel);
            if (audioFile != "" && settings.generalSettings.IsAutoPlayVocalized)
            {
                viewModel.PlayHandler(audioFile);
            }
        }
Example #2
0
        private async void deleteTextToSpeechEntry(VocalizedViewModel vmToRemove)
        {
            var result = false;

            if (vmToRemove.TextToSpeech.Id != 0)
            {
                result = await textToSpeechRepository.Delete(vmToRemove.TextToSpeech.Id);
            }
            else
            {
                result = await textToSpeechRepository.DeleteByAudioFile(vmToRemove.TextToSpeech.AudioFile);
            }
            if (result)
            {
                var remaining = VocalizedViewModels.Where(viewModel => viewModel != vmToRemove);
                VocalizedViewModels.Clear();
                VocalizedViewModels.AddRange(remaining);
                vmToRemove.Dispose();
                fileManagementService.Delete(vmToRemove.TextToSpeech.AudioFile);
            }
        }