SpeechSynthesizer.GetInstalledVoices Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает коллекцию голосов синтеза речи (текст в голос), которые в настоящее время установлены в системе.
Перегрузки
GetInstalledVoices() |
Возвращает все установленные голоса синтеза речи (текст в речь). |
GetInstalledVoices(CultureInfo) |
Возвращает все установленные голоса синтеза речи (преобразования текста в речь), которые поддерживают указанный языковой стандарт. |
Комментарии
При вызове приложения GetInstalledVoices метод проверяет, что каждый из голосов (обработчиков для преобразования текста в речь), найденный в реестре, соответствует определенным минимальным критериям. Для любого голоса, который не проходит проверку, GetInstalledVoices устанавливает Enabled для его свойства значение False
. Приложение не может выбрать голосовое Enabled значение, свойство которого равно False
. Как правило, приложения не устанавливают Enabled свойство голоса.
GetInstalledVoices()
Возвращает все установленные голоса синтеза речи (текст в речь).
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)
Возвращаемое значение
Возвращает доступную только для чтения коллекцию голосов в данный момент установленных в системе.
Примеры
Следующий пример является частью консольного приложения, которое инициализирует SpeechSynthesizer объект и выводит на консоль список установленных голосов (обработчиков для синтеза речи) и демонстрирует сведения, доступные для каждого голоса.
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();
}
}
}
Комментарии
Речь — это подсистема для синтеза речи (преобразования текста в речь или TTS), установленная в системе.
См. также раздел
Применяется к
GetInstalledVoices(CultureInfo)
Возвращает все установленные голоса синтеза речи (преобразования текста в речь), которые поддерживают указанный языковой стандарт.
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)
Параметры
- culture
- CultureInfo
Языковой стандарт, который должен поддерживаться голосом.
Возвращаемое значение
Возвращает доступную только для чтения коллекцию голосов в данный момент установленных в системе, которые поддерживают указанный языковой стандарт.
Примеры
Следующий пример является частью консольного приложения, которое инициализирует SpeechSynthesizer объект и выводит на консоль список установленных голосов, которые поддерживают языковой стандарт 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);
}
}
}
Комментарии
Если ни один из установленных голосов не поддерживает указанный языковой стандарт, этот метод возвращает пустую коллекцию.
Microsoft Windows и API System. Speech принимают все допустимые коды языковых стран. Чтобы выполнить преобразование текста в речь с помощью языка, указанного в свойстве Culture, необходимо установить модуль синтеза речи, поддерживающий этот код языка и страны. Модули синтеза речи, поставляемые вместе с Microsoft Windows 7, работают со следующими кодами языков:
EN-US. Английский (США)
zh-CN. Китайский (Китай)
zh-TW. Китайский (Тайвань)
Также разрешены двухбуквенный код языка, например "en".