SpeechSynthesizer.SelectVoiceByHints Method (VoiceGender, VoiceAge, Int32, CultureInfo)
Selects a voice with a specific gender, age, and locale, based on the position in which the voices are ordered.
Assembly: System.Speech (in System.Speech.dll)
public void SelectVoiceByHints( VoiceGender gender, VoiceAge age, int voiceAlternate, CultureInfo culture )
- Type: System.Speech.Synthesis.VoiceGender
The gender of the voice to select.
- Type: System.Speech.Synthesis.VoiceAge
The age of the voice to select.
- Type: System.Int32
The position of the voice to select.
- Type: System.Globalization.CultureInfo
The locale of the voice to select.
The SpeechSynthesizer object finds voices whose Gender, Age, and Culture properties match the gender, age, and culture parameters. The SpeechSynthesizer counts the matches it finds, and returns the voice when the count equals the voiceAlternate parameter.
Microsoft Windows and the System.Speech API accept all valid language-country codes. To perform text-to-speech using the language specified in the culture parameter, a speech synthesis engine that supports that language-country code must be installed. The speech synthesis engines that shipped with Microsoft Windows 7 work with the following language-country codes:
en-US. English (United States)
zh-CN. Chinese (China)
zh-TW. Chinese (Taiwan)
Two-letter language codes such as "en" are also permitted.
When an application calls GetInstalledVoices, the method verifies that each of the voices it finds in the registry meets certain minimum criteria. For any voice that fails verification, GetInstalledVoices sets its Enabled property to False. An application cannot select a voice whose Enabled property is False. Typically, applications will not set a voice’s Enabled property.
To select a voice based on other characteristics, see the other SelectVoiceByHints overloads.
To select a voice by name, use the SelectVoice method.
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.