我想将文本更改为语音语音语言。 这是我的代码:如何更改合成语音语音UWP?
private async void readText(string text)
{
var voices = SpeechSynthesizer.AllVoices;
SpeechSynthesizer speech = new SpeechSynthesizer();
speech.Voice = voices.First(x => x.Gender == VoiceGender.Female && x.Language.Contains("fr-FR"));
SpeechSynthesisStream stream = await speech.SynthesizeTextToStreamAsync(text);
mediaElement.SetSource(stream, stream.ContentType);
}
private void btnSay_Click(object sender, RoutedEventArgs e)
{
readText(txtWhat.Text);
}
但是当我尝试运行这段代码,有例外抛出线:
speech.Voice = voices.First(x => x.Gender == VoiceGender.Female && x.Language.Contains("fr-FR"));
“System.InvalidOperationException”类型的异常出现在系统.Linq.dll但未在用户代码中处理。
我该怎么做?
尝试FirstOrDefault。你确定安装了法语吗? 我已经使用 speech.Voice =(从Windows.Media.SpeechSynthesis.SpeechSynthesizer.AllVoices中的语音中获得语音。语音。语言==“fr-FR” 选择语音).First(); –
你有清单功能的麦克风吗? Capabilities> –
我还没有安装法语,我该怎么做? – ktos1234