Поделиться через


SpeechSynthesizer.AllVoices Свойство

Определение

Возвращает коллекцию всех установленных модулей синтеза речи (голосов).

public:
 static property IVectorView<VoiceInformation ^> ^ AllVoices { IVectorView<VoiceInformation ^> ^ get(); };
static IVectorView<VoiceInformation> AllVoices();
public static IReadOnlyList<VoiceInformation> AllVoices { get; }
var iVectorView = SpeechSynthesizer.allVoices;
Public Shared ReadOnly Property AllVoices As IReadOnlyList(Of VoiceInformation)

Значение свойства

Коллекция объектов VoiceInformation .

Примеры

Здесь мы покажем, как выбрать пол для голоса (VoiceInformation.Gender), используя первый найденный женский голос (VoiceGender) или только системный голос по умолчанию (SpeechSynthesizer.DefaultVoice), если женский голос не найден.

using (SpeechSynthesizer synthesizer = new SpeechSynthesizer())
{
    VoiceInformation voiceInfo =
        (
            from voice in SpeechSynthesizer.AllVoices
            where voice.Gender == VoiceGender.Female
            select voice
        ).FirstOrDefault() ?? SpeechSynthesizer.DefaultVoice;

    synthesizer.Voice = voiceInfo;

    // Windows.Media.SpeechSynthesis.SpeechSynthesisStream
    stream = await synthesizer.SynthesizeTextToStreamAsync(text);
}

Комментарии

Для создания речи с помощью SpeechSynthesizer можно использовать только голоса, подписанные корпорацией Майкрософт. Каждый голос создает синтезированную речь на одном языке, на котором говорят в определенной стране или регионе.

По умолчанию новый объект SpeechSynthesizer использует текущий системный голос (вызовите DefaultVoice , чтобы узнать, что такое голос по умолчанию).

Чтобы указать любые другие голоса синтеза речи (преобразования текста в речь), установленные в системе пользователя, используйте метод Voice (чтобы узнать, какие голоса установлены в системе, вызовите AllVoices).

Если язык не указан, загружается голос, который наиболее точно соответствует языку, выбранному на панели управления языком.

Применяется к

См. также раздел