SpeechSynthesizer.SpeakSsmlAsync(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Асинхронно сообщает String, содержащий разметку SSML.
public:
System::Speech::Synthesis::Prompt ^ SpeakSsmlAsync(System::String ^ textToSpeak);
public System.Speech.Synthesis.Prompt SpeakSsmlAsync (string textToSpeak);
member this.SpeakSsmlAsync : string -> System.Speech.Synthesis.Prompt
Public Function SpeakSsmlAsync (textToSpeak As String) As Prompt
Параметры
- textToSpeak
- String
Разметка SMML для разговора.
Возвращаемое значение
Объект , содержащий содержимое для речи.
Исключения
textToSpeak
имеет значение null
.
Примеры
using System;
using System.Speech.Synthesis;
namespace SampleSynthesis
{
class Program
{
static void Main(string[] args)
{
// Initialize a new instance of the SpeechSynthesizer.
SpeechSynthesizer synth = new SpeechSynthesizer();
// Configure the audio output.
synth.SetOutputToDefaultAudioDevice();
// Build an SSML prompt in a string.
string str = "<speak version=\"1.0\"";
str += " xmlns=\"http://www.w3.org/2001/10/synthesis\"";
str += " xml:lang=\"en-US\">";
str += "<say-as type=\"date:mdy\"> 1/29/2009 </say-as>";
str += "</speak>";
// Speak the contents of the prompt asynchronously.
synth.SpeakSsmlAsync(str);
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые SpeakSsml(String).
Комментарии
Содержимое textToSpeak
параметра должно содержать speak
элемент и соответствовать языку разметки синтеза речи (SSML) версии 1.0. Дополнительные сведения см. в справочнике по языку разметки синтеза речи.
Чтобы синхронно произносить строку, содержащую разметку SSML, используйте SpeakSsml метод . Можно использовать для SpeakAsync запуска асинхронной речи строки, которая не содержит разметку SSML.
Во время вызова этого метода SpeechSynthesizer может вызвать следующие события:
StateChanged. Вызывается при изменении состояния речи синтезатора.
SpeakStarted. Возникает, когда синтезатор начинает генерировать речь.
PhonemeReached. Возникает каждый раз, когда синтезатор достигает буквы или комбинации букв, которые составляют сдержанный звук речи на языке.
SpeakProgress. Возникает каждый раз, когда синтезатор завершает произнесение слова.
VisemeReached. Поднятый каждый раз, когда речевой выход требует изменения положения рта или лицевых мышц, используемых для производства речи.
BookmarkReached. Возникает, когда синтезатор обнаруживает закладку в запросе.
VoiceChange. Возникает при изменении голоса синтезатора.
SpeakCompleted. Возникает, когда синтезатор завершает обработку SpeakSsmlAsync операции.
Если приложению не нужно выполнять задачи во время речи, можно использовать Speak метод или SpeakSsml для синхронного создания речи.