SpeechSynthesizer.GetInstalledVoices Methode

Definitie

Retourneert de verzameling spraaksynthesestemmen (tekst-naar-spraak) die momenteel op het systeem zijn geïnstalleerd.

Overloads

Name Description
GetInstalledVoices()

Hiermee worden alle geïnstalleerde spraaksynthesestemmen (tekst-naar-spraak) geretourneerd.

GetInstalledVoices(CultureInfo)

Retourneert alle geïnstalleerde spraaksynthesestemmen (tekst-naar-spraak) die ondersteuning bieden voor een specifieke landinstelling.

Opmerkingen

Wanneer een toepassing aanroept GetInstalledVoices, controleert de methode of elk van de stemmen (engines voor tekst-naar-spraak) die in het register wordt gevonden, voldoet aan bepaalde minimumcriteria. Voor elke stem die verificatie mislukt, GetInstalledVoices stelt u de eigenschap in Enabled op False. Een toepassing kan geen stem selecteren waarvan de Enabled eigenschap is False. Normaal gesproken stellen toepassingen de eigenschap van Enabled een stem niet in.

GetInstalledVoices()

Bron:
SpeechSynthesizer.cs
Bron:
SpeechSynthesizer.cs
Bron:
SpeechSynthesizer.cs
Bron:
SpeechSynthesizer.cs

Hiermee worden alle geïnstalleerde spraaksynthesestemmen (tekst-naar-spraak) geretourneerd.

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)

Retouren

Retourneert een alleen-lezen verzameling stemmen die momenteel op het systeem zijn geïnstalleerd.

Voorbeelden

Het volgende voorbeeld maakt deel uit van een consoletoepassing waarmee een SpeechSynthesizer object wordt geïnitialiseerd en uitgevoerd naar de console een lijst met geïnstalleerde stemmen (engines voor spraaksynthese) en wordt de informatie gedemonstreerd die beschikbaar is voor elke stem.

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

Opmerkingen

Een stem is een engine voor spraaksynthese (tekst-naar-spraak of TTS) die op het systeem is geïnstalleerd.

Zie ook

Van toepassing op

GetInstalledVoices(CultureInfo)

Bron:
SpeechSynthesizer.cs
Bron:
SpeechSynthesizer.cs
Bron:
SpeechSynthesizer.cs
Bron:
SpeechSynthesizer.cs

Retourneert alle geïnstalleerde spraaksynthesestemmen (tekst-naar-spraak) die ondersteuning bieden voor een specifieke landinstelling.

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)

Parameters

culture
CultureInfo

De landinstelling die de stem moet ondersteunen.

Retouren

Retourneert een alleen-lezen verzameling van de stemmen die momenteel zijn geïnstalleerd op het systeem dat ondersteuning biedt voor de opgegeven landinstelling.

Voorbeelden

Het volgende voorbeeld maakt deel uit van een consoletoepassing waarmee een SpeechSynthesizer object wordt geïnitialiseerd en uitgevoerd naar de console een lijst met de geïnstalleerde stemmen die ondersteuning bieden voor de en-US landinstelling.

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

Opmerkingen

Als geen van de geïnstalleerde stemmen de opgegeven landinstelling ondersteunt, retourneert deze methode een lege verzameling.

Microsoft Windows en de System.Speech-API accepteren alle geldige taal-landcodes. Als u tekst-naar-spraak wilt uitvoeren met behulp van de taal die is opgegeven in de eigenschap Cultuur, moet er een spraaksynthese-engine worden geïnstalleerd die ondersteuning biedt voor taal-landcode. De spraaksynthese-engines die met Microsoft Windows 7 worden geleverd, werken met de volgende taal-landcodes:

  • en-US. Engels (Verenigde Staten)

  • zh-CN. Chinees (China)

  • zh-TW. Chinees (Taiwan)

Tweeletterige taalcodes zoals 'en' zijn ook toegestaan.

Zie ook

Van toepassing op