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) 。
如果您未指定語言,則會載入最接近 [語言] 控制台中所選取語言的語音。