SpeechSynthesizer.GetInstalledVoices Methode

Definition

Gibt die Auflistung von Stimmen der Sprachsynthese (Text-zu-Sprache) zurück, die derzeit auf dem System installiert sind.

Überlädt

GetInstalledVoices()

Gibt alle installierten Stimmen der Sprachsynthese (Text-zu-Sprache) zurück.

GetInstalledVoices(CultureInfo)

Gibt alle installierten Sprachsynthesestimmzeichen (Text-zu-Sprache) zurück, die ein bestimmtes Gebietsschema unterstützen.

Hinweise

Wenn eine Anwendung aufruft GetInstalledVoices, überprüft die -Methode, ob jede der Stimmen (Engines für Text-zu-Sprache), die sie in der Registrierung findet, bestimmte Mindestkriterien erfüllt. Legt die -Eigenschaft für jede Stimme, bei der die Überprüfung fehlschlägt, GetInstalledVoices auf FalsefestEnabled. Eine Anwendung kann keine Stimme auswählen, deren Enabled Eigenschaft ist False. In der Regel legen Anwendungen die Eigenschaft einer Stimme Enabled nicht fest.

GetInstalledVoices()

Gibt alle installierten Stimmen der Sprachsynthese (Text-zu-Sprache) zurück.

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)

Gibt zurück

Gibt eine schreibgeschützte Auflistung der Stimmen zurück, die derzeit auf dem System installiert sind.

Beispiele

Das folgende Beispiel ist Teil einer Konsolenanwendung, die ein SpeechSynthesizer -Objekt initialisiert und eine Liste der installierten Stimmen (Engines für die Sprachsynthese) an die Konsole ausgibt und die Informationen veranschaulicht, die für jede Stimme verfügbar sind.

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

Hinweise

Eine Stimme ist eine Engine für die Sprachsynthese (Text-to-Speech oder TTS), die auf dem System installiert ist.

Weitere Informationen

Gilt für:

GetInstalledVoices(CultureInfo)

Gibt alle installierten Sprachsynthesestimmzeichen (Text-zu-Sprache) zurück, die ein bestimmtes Gebietsschema unterstützen.

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)

Parameter

culture
CultureInfo

Das Gebietsschema, das die Sprache unterstützen muss.

Gibt zurück

Gibt eine schreibgeschützte Auflistung der Stimmen zurück, die derzeit auf dem System installiert sind, die das angegebene Gebietsschema unterstützen.

Beispiele

Das folgende Beispiel ist Teil einer Konsolenanwendung, die ein SpeechSynthesizer -Objekt initialisiert und an die Konsole eine Liste der installierten Stimmen ausgibt, die das Gebietsschema en-US unterstützen.

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

Hinweise

Wenn keine der installierten Stimmen das angegebene Gebietsschema unterstützt, gibt diese Methode eine leere Auflistung zurück.

Microsoft Windows und die System.Speech-API akzeptieren alle gültigen Sprachlandcodes. Zum Ausführen von Sprachsynthese mit der in der Culture-Eigenschaft angegebenen Sprache muss eine Sprachsynthese-Engine installiert sein, die diesen Sprachlandcode unterstützt. Die mit Microsoft Windows 7 ausgelieferten Sprachsynthese-Engines funktionieren mit den folgenden Sprachlandcodes:

  • en-US. Englisch (USA)

  • zh-CN. Chinesisch (China)

  • zh-TW. Chinesisch (Taiwan)

Zwei-Buchstaben-Sprachcodes wie "en" sind ebenfalls zulässig.

Weitere Informationen

Gilt für: