Compartir a través de


SpeechSynthesizer.GetInstalledVoices Método

Definición

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
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
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".

Consulte también

Se aplica a