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


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 для синхронного создания речи.

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