public static void Speak(PromptBuilder p)
        {
            var synthesizer = CreateSynthesizerOutputToAudio();

            Prompt         spokenPrompt = synthesizer.SpeakAsync(p);
            SynthesisState state        = new SynthesisState(synthesizer, spokenPrompt);

            ShowSpeechCancelDialog(state);
        }
        public static void Speak(PromptBuilder p)
        {
            var synthesizer = CreateSynthesizerOutputToAudio();

            Prompt spokenPrompt = synthesizer.SpeakAsync(p);
            SynthesisState state = new SynthesisState(synthesizer, spokenPrompt);
            
            ShowSpeechCancelDialog(state);
        }
Beispiel #3
0
        private static void ShowSpeechCancelDialog(SynthesisState state)
        {
            SpeechSynthesizer synthesizer  = state.Synthesizer;
            Prompt            spokenPrompt = state.PromptBeingSynthesized;

            SpeechPlayingDialogBox speechPlayingDialog = new SpeechPlayingDialogBox(state);

            speechPlayingDialog.Closed += (sender, e) => SpeechPlayingDialog_Closed(synthesizer, spokenPrompt);
            speechPlayingDialog.ShowDialog();
        }
        private static void ShowSpeechCancelDialog(SynthesisState state)
        {
            SpeechSynthesizer synthesizer = state.Synthesizer;
            Prompt spokenPrompt = state.PromptBeingSynthesized;

            SpeechPlayingForm progress = new SpeechPlayingForm(state);
            DialogResult result = progress.ShowDialog();
            if (result == DialogResult.Cancel)
            {
                try
                {
                    synthesizer.SpeakAsyncCancel(spokenPrompt);
                }
                catch (ObjectDisposedException)
                {
                    // Synthesizer has already finished, so we don't need to do anything.
                }
            }
        }
Beispiel #5
0
        private static void ShowSpeechCancelDialog(SynthesisState state)
        {
            SpeechSynthesizer synthesizer  = state.Synthesizer;
            Prompt            spokenPrompt = state.PromptBeingSynthesized;

            SpeechPlayingForm progress = new SpeechPlayingForm(state);
            DialogResult      result   = progress.ShowDialog();

            if (result == DialogResult.Cancel)
            {
                try
                {
                    synthesizer.SpeakAsyncCancel(spokenPrompt);
                }
                catch (ObjectDisposedException)
                {
                    // Synthesizer has already finished, so we don't need to do anything.
                }
            }
        }
 public SpeechPlayingForm(SynthesisState state)
 {
     InitializeComponent();
     state.Synthesizer.SpeakCompleted += SynthesizerOnSpeakCompleted;
 }