SpeechSynthesizer.GetInstalledVoices Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve la colección de voces de síntesis de voz (texto a voz) que están instaladas actualmente en el sistema.
Sobrecargas
GetInstalledVoices() |
Devuelve todas las voces de síntesis de voz (texto a voz) instaladas. |
GetInstalledVoices(CultureInfo) |
Devuelve todas las voces de síntesis de voz instaladas (texto a voz) que admiten una configuración regional específica. |
Comentarios
Cuando una aplicación llama a GetInstalledVoices, el método comprueba que cada una de las voces (motores de texto a voz) que encuentra en el registro cumple determinados criterios mínimos. Para cualquier voz que produzca un error en la comprobación, GetInstalledVoices establezca su Enabled propiedad en False
. Una aplicación no puede seleccionar una voz cuya Enabled propiedad sea False
. Normalmente, las aplicaciones no establecerán la propiedad de Enabled una voz.
GetInstalledVoices()
- Source:
- SpeechSynthesizer.cs
- Source:
- SpeechSynthesizer.cs
Devuelve todas las voces de síntesis de voz (texto a voz) instaladas.
public:
System::Collections::ObjectModel::ReadOnlyCollection<System::Speech::Synthesis::InstalledVoice ^> ^ GetInstalledVoices();
public System.Collections.ObjectModel.ReadOnlyCollection<System.Speech.Synthesis.InstalledVoice> GetInstalledVoices ();
member this.GetInstalledVoices : unit -> System.Collections.ObjectModel.ReadOnlyCollection<System.Speech.Synthesis.InstalledVoice>
Public Function GetInstalledVoices () As ReadOnlyCollection(Of InstalledVoice)
Devoluciones
Devuelve una colección de solo lectura de las voces instaladas actualmente en el sistema.
Ejemplos
El ejemplo siguiente forma parte de una aplicación de consola que inicializa un SpeechSynthesizer objeto y genera en la consola una lista de las voces instaladas (motores para síntesis de voz) y muestra la información disponible para cada voz.
using System;
using System.Speech.Synthesis;
using System.Speech.AudioFormat;
namespace SampleSynthesis
{
class Program
{
static void Main(string[] args)
{
// Initialize a new instance of the SpeechSynthesizer.
using (SpeechSynthesizer synth = new SpeechSynthesizer())
{
// Output information about all of the installed voices.
Console.WriteLine("Installed voices -");
foreach (InstalledVoice voice in synth.GetInstalledVoices())
{
VoiceInfo info = voice.VoiceInfo;
string AudioFormats = "";
foreach (SpeechAudioFormatInfo fmt in info.SupportedAudioFormats)
{
AudioFormats += String.Format("{0}\n",
fmt.EncodingFormat.ToString());
}
Console.WriteLine(" Name: " + info.Name);
Console.WriteLine(" Culture: " + info.Culture);
Console.WriteLine(" Age: " + info.Age);
Console.WriteLine(" Gender: " + info.Gender);
Console.WriteLine(" Description: " + info.Description);
Console.WriteLine(" ID: " + info.Id);
Console.WriteLine(" Enabled: " + voice.Enabled);
if (info.SupportedAudioFormats.Count != 0)
{
Console.WriteLine( " Audio formats: " + AudioFormats);
}
else
{
Console.WriteLine(" No supported audio formats found");
}
string AdditionalInfo = "";
foreach (string key in info.AdditionalInfo.Keys)
{
AdditionalInfo += String.Format(" {0}: {1}\n", key, info.AdditionalInfo[key]);
}
Console.WriteLine(" Additional Info - " + AdditionalInfo);
Console.WriteLine();
}
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
Comentarios
Una voz es un motor para la síntesis de voz (texto a voz o TTS) que se instala en el sistema.
Consulte también
Se aplica a
GetInstalledVoices(CultureInfo)
- Source:
- SpeechSynthesizer.cs
- Source:
- SpeechSynthesizer.cs
Devuelve todas las voces de síntesis de voz instaladas (texto a voz) que admiten una configuración regional específica.
public:
System::Collections::ObjectModel::ReadOnlyCollection<System::Speech::Synthesis::InstalledVoice ^> ^ GetInstalledVoices(System::Globalization::CultureInfo ^ culture);
public System.Collections.ObjectModel.ReadOnlyCollection<System.Speech.Synthesis.InstalledVoice> GetInstalledVoices (System.Globalization.CultureInfo culture);
member this.GetInstalledVoices : System.Globalization.CultureInfo -> System.Collections.ObjectModel.ReadOnlyCollection<System.Speech.Synthesis.InstalledVoice>
Public Function GetInstalledVoices (culture As CultureInfo) As ReadOnlyCollection(Of InstalledVoice)
Parámetros
- culture
- CultureInfo
Configuración regional que la voz debe admitir.
Devoluciones
Devuelve una colección de solo lectura de las voces instaladas actualmente en el sistema que admite la configuración regional especificada.
Ejemplos
El ejemplo siguiente forma parte de una aplicación de consola que inicializa un SpeechSynthesizer objeto y genera en la consola una lista de las voces instaladas que admiten la configuración regional en-US.
using System;
using System.Globalization;
using System.Speech.Synthesis;
namespace SampleSynthesis
{
class Program
{
static void Main(string[] args)
{
// Initialize a new instance of the speech synthesizer.
using (SpeechSynthesizer synthesizer = new SpeechSynthesizer())
{
// Output information about all of the installed voices that
// support the en-US locale.
Console.WriteLine("Installed voices for the en-US locale:");
foreach (InstalledVoice voice in
synthesizer.GetInstalledVoices(new CultureInfo("en-US")))
{
VoiceInfo info = voice.VoiceInfo;
OutputVoiceInfo(info);
}
// Output information about the current voice.
Console.WriteLine();
Console.WriteLine("Current voice:");
OutputVoiceInfo(synthesizer.Voice);
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// Display information about a synthesizer voice.
private static void OutputVoiceInfo(VoiceInfo info)
{
Console.WriteLine(" Name: {0}, culture: {1}, gender: {2}, age: {3}.",
info.Name, info.Culture, info.Gender, info.Age);
Console.WriteLine(" Description: {0}", info.Description);
}
}
}
Comentarios
Si ninguna de las voces instaladas admite la configuración regional especificada, este método devuelve una colección vacía.
Microsoft Windows y System.Speech API aceptan todos los códigos de país de idioma válidos. Para realizar texto a voz con el idioma especificado en la propiedad Culture, se debe instalar un motor de síntesis de voz que admita ese código de país de idioma. Los motores de síntesis de voz que se incluyen con Microsoft Windows 7 funcionan con los siguientes códigos de país de idioma:
en-US. Spanish (Traditional Sort) - Spain
zh-CN. Chino (China)
zh-TW. Chino (Taiwán)
También se permiten códigos de idioma de dos letras, como "en".