SpeechSynthesizer.Voice 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置语音合成引擎 (语音) 。
public:
property VoiceInformation ^ Voice { VoiceInformation ^ get(); void set(VoiceInformation ^ value); };
VoiceInformation Voice();
void Voice(VoiceInformation value);
public VoiceInformation Voice { get; set; }
var voiceInformation = speechSynthesizer.voice;
speechSynthesizer.voice = voiceInformation;
Public Property Voice As VoiceInformation
属性值
语音合成引擎 (或语音) 。 默认值为当前系统语音。
示例
在这里,我们将演示如何使用找到的第一个女性语音 (VoiceGender) ,或仅使用默认系统语音 (SpeechSynthesizer.DefaultVoice) ,为语音选择性别 (VoiceInformation.Gender) 。
using (SpeechSynthesizer synthesizer = new SpeechSynthesizer())
{
VoiceInformation voiceInfo =
(
from voice in SpeechSynthesizer.AllVoices
where voice.Gender == VoiceGender.Female
select voice
).FirstOrDefault() ?? SpeechSynthesizer.DefaultVoice;
synthesizer.Voice = voiceInfo;
// Windows.Media.SpeechSynthesis.SpeechSynthesisStream
stream = await synthesizer.SynthesizeTextToStreamAsync(text);
}
注解
只有安装在系统上的 Microsoft 签名语音才能使用 SpeechSynthesizer 生成语音。 每个语音生成单一语言的合成语音,就像在特定国家/地区说的那样。
默认情况下,新的 SpeechSynthesizer 对象使用当前系统语音 (调用 DefaultVoice 来找出) 默认语音。
若要指定任何其他语音合成 (安装在用户系统上的文本转语音) 语音,请使用 Voice 方法 (找出系统上安装了哪些 语音 ,请调用 AllVoices) 。
如果未指定语言,则会加载与语言控制面板中选择的语言最接近的语音。