Windows Phone 8.1人声合成

Windows Phone 8.1 vocal synthesis

我有问题。

在我的 Windows Phone 8.1 应用程序中,我将实现一个按钮功能,以便我的 phone 告诉 "hello world"(通过语音)。我已经在网上搜索了几十个解决方案,结果是:该指令不适用于 Win 8.1;该指令需要外部资源;该指令给了我很多错误。

拜托,你有一个简单的代码来做到这一点吗?提前致谢!

您尝试过使用 Windows.Media.SpeechSynthesis.SpeechSynthesizer 吗?

有关更多信息,我建议观看 MVA 课程中的第二课 Universal Windows App Development with Cortana and the Speech SDK

这适用于 Windows Phone 8.1,有关 Speech Synthesizer

的更多信息
    private async void TextToSpeech(string textToReadAloud)
    {
        SpeechSynthesizer ttssynthesizer = new SpeechSynthesizer();

        //Set the Voice & Speaker
        using (var speaker = new SpeechSynthesizer())
        {
            speaker.Voice = (SpeechSynthesizer.AllVoices.First(x => x.Gender == VoiceGender.Female));
            ttssynthesizer.Voice = speaker.Voice;
        }

        SpeechSynthesisStream ttsStream = await ttssynthesizer.SynthesizeTextToStreamAsync(textToReadAloud);
        MediaElement.SetSource(ttsStream, "");  
    }

注意 MediaElement 可以绑定到 xaml 中的内容控件。

            <ContentControl HorizontalAlignment="Left"         
            Width="320" Height="140" Content="{Binding MediaElement}"/>

在您的视图模型中声明的媒体元素。

    private MediaElement _mediaElement = new MediaElement();

    public MediaElement MediaElement
    {
        get
        {
            return _mediaElement;
        }
        set
        {
            Set(() => MediaElement, ref _mediaElement, value);
        }
    }