SpeechSynthesizer.GetInstalledVoices Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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
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".