Sdílet prostřednictvím


SpeechSynthesizer.GetInstalledVoices Metoda

Definice

Vrátí kolekci hlasů pro syntézu řeči (převod textu na řeč), které jsou aktuálně nainstalovány v systému.

Přetížení

GetInstalledVoices()

Vrátí všechna nainstalovaná hlasy rozpoznávání řeči (převod textu na řeč).

GetInstalledVoices(CultureInfo)

Vrátí všechna nainstalovaná hlasy rozpoznávání řeči (převod textu na řeč), která podporují konkrétní národní prostředí.

Poznámky

Když aplikace volá GetInstalledVoices , metoda ověří, že každý z hlasů (moduly pro převod textu na řeč), který najde v registru, splňuje určitá minimální kritéria. Pro jakýkoliv hlas, který selhává ověřování, GetInstalledVoices nastaví Enabled vlastnost na hodnotu False . Aplikace nemůže vybrat hlas Enabled , jehož vlastnost je False . Aplikace obvykle nenastaví vlastnost hlasu Enabled .

GetInstalledVoices()

Vrátí všechna nainstalovaná hlasy rozpoznávání řeči (převod textu na řeč).

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)

Návraty

ReadOnlyCollection<InstalledVoice>

Vrátí kolekci hlasů, které jsou aktuálně nainstalované v systému, jen pro čtení.

Příklady

Následující příklad je součástí konzolové aplikace, která inicializuje SpeechSynthesizer objekt a vytvoří výstup do konzoly seznam nainstalovaných hlasů (moduly pro syntézu řeči) a ukazuje informace, které jsou k dispozici pro každý hlas.

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();  
    }  
  }  
}  

Poznámky

Hlas je modul pro syntézu řeči (převod textu na řeč nebo TTS), který je nainstalovaný v systému.

Viz také

Platí pro

GetInstalledVoices(CultureInfo)

Vrátí všechna nainstalovaná hlasy rozpoznávání řeči (převod textu na řeč), která podporují konkrétní národní prostředí.

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)

Parametry

culture
CultureInfo

Národní prostředí, které musí tento hlas podporovat.

Návraty

ReadOnlyCollection<InstalledVoice>

Vrátí kolekci hlasů, které jsou aktuálně nainstalovány v systému, který podporuje zadané národní prostředí, do kolekce jen pro čtení.

Příklady

Následující příklad je součástí konzolové aplikace, která inicializuje SpeechSynthesizer objekt a vytvoří výstup do konzoly seznam nainstalovaných hlasů, které podporují národní prostředí 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);  
    }  
  }  
}  

Poznámky

Pokud žádný z nainstalovaných hlasů nepodporuje zadané národní prostředí, vrátí tato metoda prázdnou kolekci.

Microsoft Windows a rozhraní API System. Speech přijímají všechny platné kódy jazykových zemí. Chcete-li provést převod textu na řeč pomocí jazyka určeného vlastností Culture, musí být nainstalován modul pro Shrnutí řeči, který podporuje daný kód jazykové země. Moduly pro syntézu řeči dodávané se systémem Microsoft Windows 7 fungují s následujícími kódy zemí:

  • EN-US. Angličtina (Spojené státy)

  • zh-CN. Čínština (Čína)

  • zh-TW. Čínština (Tchaj-wan)

Jsou povoleny také kódy jazyka se dvěma písmeny, například "en".

Viz také

Platí pro