Export (0) Print
Expand All

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.

Namespace:  System.Speech.Synthesis
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.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4

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.

© 2014 Microsoft