我有一个问题。
在我的Windows Phone 8.1应用程序中,我会实现一个按钮功能,这样我的手机就可以告诉你"你好世界" (通过声音)。我已经在网上搜索了几十个解决方案,结果是:该指令对Win 8.1没有好处;指令需要外部资源;该指令给了我很多错误。
请你有一个简单的代码吗?提前谢谢!
答案 0 :(得分:1)
这适用于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);
}
}
答案 1 :(得分:0)
您是否尝试过使用Windows.Media.SpeechSynthesis.SpeechSynthesizer?
有关更多信息,我建议您观看MVA课程Universal Windows App Development with Cortana and the Speech SDK
中的第二课