SpeechSynthesizer.AllVoices 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取所有已安装语音合成引擎 (语音) 的集合。
public:
static property IVectorView<VoiceInformation ^> ^ AllVoices { IVectorView<VoiceInformation ^> ^ get(); };
static IVectorView<VoiceInformation> AllVoices();
public static IReadOnlyList<VoiceInformation> AllVoices { get; }
var iVectorView = SpeechSynthesizer.allVoices;
Public Shared ReadOnly Property AllVoices As IReadOnlyList(Of VoiceInformation)
属性值
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) 。
如果未指定语言,则会加载与语言控制面板中选择的语言最接近的语音。