Compartilhar via


SpeechSynthesizer.GetInstalledVoices Método

Definição

Retorna a coleção de vozes de síntese de fala (conversão de texto em fala) que estão atualmente instaladas no sistema.

Sobrecargas

GetInstalledVoices()

Retorna todas as vozes de síntese (conversão de texto em fala) de fala instalados.

GetInstalledVoices(CultureInfo)

Retorna todas as vozes de sintetização de fala (conversão de texto em fala) instaladas que dão suporte a uma localidade específica.

Comentários

Quando um aplicativo chama GetInstalledVoices , o método verifica se cada uma das vozes (mecanismos de conversão de texto em fala) que ele encontra no registro atende a certos critérios mínimos. Para qualquer voz que falha na verificação, GetInstalledVoices define sua Enabled propriedade como False . Um aplicativo não pode selecionar uma voz cuja Enabled propriedade é False . Normalmente, os aplicativos não definirão a propriedade de uma voz Enabled .

GetInstalledVoices()

Retorna todas as vozes de síntese (conversão de texto em fala) de fala instalados.

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)

Retornos

ReadOnlyCollection<InstalledVoice>

Retorna uma coleção somente leitura das vozes atualmente instaladas no sistema.

Exemplos

O exemplo a seguir faz parte de um aplicativo de console que inicializa um SpeechSynthesizer objeto e saídas para o console uma lista das vozes instaladas (mecanismos para síntese de fala) e demonstra as informações disponíveis 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();  
    }  
  }  
}  

Comentários

Uma voz é um mecanismo para síntese de fala (conversão de texto em fala ou TTS) que está instalado no sistema.

Confira também

Aplica-se a

GetInstalledVoices(CultureInfo)

Retorna todas as vozes de sintetização de fala (conversão de texto em fala) instaladas que dão suporte a uma localidade 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

A localidade a que a voz deve dar suporte.

Retornos

ReadOnlyCollection<InstalledVoice>

Retorna uma coleção somente leitura das vozes instaladas atualmente no sistema que dão suporte a uma localidade específica.

Exemplos

O exemplo a seguir faz parte de um aplicativo de console que inicializa um SpeechSynthesizer objeto e saídas para o console uma lista das vozes instaladas que dão suporte à localidade 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);  
    }  
  }  
}  

Comentários

Se nenhuma das vozes instaladas der suporte à localidade especificada, esse método retornará uma coleção vazia.

Microsoft Windows e System. Speech API aceitam todos os códigos de país-idioma válidos. Para executar a conversão de texto em fala usando o idioma especificado na propriedade Culture, um mecanismo de síntese de fala que dá suporte a esse código de país de idioma deve ser instalado. Os mecanismos de síntese de fala fornecidos com o Microsoft Windows 7 funcionam com os seguintes códigos de país de idioma:

  • en-US. Inglês (Estados Unidos)

  • ZH-CN. Chinês (China)

  • zh-TW. Chinês (Taiwan)

Códigos de idioma de duas letras, como "en", também são permitidos.

Confira também

Aplica-se a