SpeechSynthesizer.Voice 属性

定义

获取或设置语音合成引擎 (语音) 。

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) 。

如果未指定语言,则会加载与语言控制面板中选择的语言最接近的语音。

适用于

另请参阅