<Window x:Class="SoundAndVideo.SpeechSynthesis" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="SpeechSynthesis" Height="300" Width="300"> <StackPanel> <TextBox Name="txtWords" ScrollViewer.HorizontalScrollBarVisibility="Visible" TextWrapping="Wrap">Hello, world</TextBox> <Button Margin="5" Grid.Row="1" Click="cmdSpeak_Click">Speak</Button> <Button Margin="5" Grid.Row="2" Click="cmdPromptTest_Click">Prompt Test</Button> </StackPanel> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Speech.Synthesis; namespace SoundAndVideo { public partial class SpeechSynthesis : System.Windows.Window { public SpeechSynthesis() { InitializeComponent(); } private void cmdSpeak_Click(object sender, RoutedEventArgs e) { SpeechSynthesizer synthesizer = new SpeechSynthesizer(); synthesizer.Speak(txtWords.Text); } private void cmdPromptTest_Click(object sender, RoutedEventArgs e) { PromptBuilder prompt = new PromptBuilder(); prompt.AppendText("A"); prompt.AppendBreak(TimeSpan.FromSeconds(2)); prompt.AppendText("A ", PromptEmphasis.Reduced); PromptStyle style = new PromptStyle(); style.Rate = PromptRate.ExtraSlow; style.Emphasis = PromptEmphasis.Strong; prompt.StartStyle(style); prompt.AppendText("B "); prompt.EndStyle(); prompt.AppendText("C?"); SpeechSynthesizer synthesizer = new SpeechSynthesizer(); synthesizer.Speak(prompt); } } }