xml code

---------------------------------

<Page
    x:Class="MyApp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:MyApp"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
 
    <StackPanel>
        <TextBox Name="txtInput" Header="请输入文本:"/>
        <Button Content="开始朗读" Click="OnClick" Margin="0,15,0,0"/>
        <MediaElement Name="me" AutoPlay="True" Volume="1.0"/>
    </StackPanel>
</Page>

 

 

C# code

----------------------

public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
 
            this.NavigationCacheMode = NavigationCacheMode.Required;
        }
 
        private async void OnClick(object sender, RoutedEventArgs e)
        {
            if (txtInput.Text.Length == 0) return;
 
            Button b = sender as Button;
            b.IsEnabled = false;
 
            SpeechSynthesizer synthesizer = new SpeechSynthesizer();
            SpeechSynthesisStream stream = await synthesizer.SynthesizeTextToStreamAsync(txtInput.Text);
            // 播放生成的语音
            me.SetSource(stream, stream.ContentType);
 
            b.IsEnabled = true;
        }
    }

uwp 之语音朗读_microsoft