internal virtual void ExecutarWAVSync(FalaModel model, Delegate callbackFalaFinalizada = null) { var player = new SoundPlayer { SoundLocation = model.TextoParaFala }; player.Load(); player.PlaySync(); callbackFalaFinalizada?.DynamicInvoke(model); }
void FinalizarComentarioCallback(FalaModel model) { if (model != null) { var tuppleLookUp = this.Falas.ToLookup(fala => fala.Item1.ID); if (tuppleLookUp.Any()) { var tupple = tuppleLookUp[model.ID]; this.Falas.Remove(tupple.First()); } } this.IsExecutandoAudio = false; }
internal virtual void ExecutarAudioAsync(FalaModel model, Delegate callbackFalaFinalizada = null) { if (model.TextoPrompFala == null && string.IsNullOrEmpty(model.TextoParaFala)) { return; } var sintetizador = new SpeechSynthesizer { Volume = 100 }; sintetizador.SelectVoice("Microsoft Maria Desktop"); sintetizador.SetOutputToDefaultAudioDevice(); sintetizador.SpeakCompleted += (speakersender, se) => { if (EncadeiaReacao) { var player = new SoundPlayer(); player.LoadCompleted += (playersender, pe) => { var sp = (SoundPlayer)playersender; if (sp.IsLoadCompleted) { sp.Play(); callbackFalaFinalizada?.DynamicInvoke(model); } }; var audios = AudiosList.ObterReacoes(); var audioAleatorio = new Random().Next(audios.Count); var audio = audios[audioAleatorio]; player.SoundLocation = audio; player.LoadAsync(); } else { callbackFalaFinalizada?.DynamicInvoke(model); } }; if (!string.IsNullOrEmpty(model.TextoParaFala)) { sintetizador.SpeakAsync(model.TextoParaFala); } else if (model.TextoPrompFala != null) { sintetizador.SpeakAsync(model.TextoPrompFala); } }
internal virtual void ExecutarWAVAsync(FalaModel model, Delegate callbackFalaFinalizada = null) { var player = new SoundPlayer(); player.LoadCompleted += (playersender, pe) => { var sp = (SoundPlayer)playersender; if (sp.IsLoadCompleted) { sp.Play(); callbackFalaFinalizada?.DynamicInvoke(model); } }; player.SoundLocation = model.TextoParaFala; player.LoadAsync(); }
public void Falar(FalaModel model, Delegate notificarBotCallback = null, Delegate notificarErroBotCallback = null) { CallbackModel = new CallbackModel { ChannelName = BotAppSettings.ChannelName, Mensagem = "Eu não sei falar isso ainda" }; try { notificarBotCallback?.DynamicInvoke(CallbackModel); } catch { CallbackModel.Mensagem = $"deu pau... {EmotesConsts.NotLikeThis}"; notificarErroBotCallback?.DynamicInvoke(CallbackModel); } }
public void Falar(FalaModel model, Delegate notificarBotCallback = null, Delegate notificarErroBotCallback = null) { this.Falas.Add(Tuple.Create(model, notificarBotCallback, notificarErroBotCallback)); }