Я хотел бы изменить текст в речь голос langauge. Это мой код:Как изменить синтезированный речевой язык речи 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, но не был обработан в коде пользователя.
Что делать неправильно?
Try FirstOrDefault. Вы уверены, что французский язык установлен? У меня есть speech.Voice = (от голоса в Windows.Media.SpeechSynthesis.SpeechSynthesizer.AllVoices где voice.Language == "fr-FR" выберите голос) .First(); –
У вас есть микрофон в манифестных способностях? <Возможности> Capabilities> –
Я не установил французский язык, как я могу это сделать? – ktos1234