SpeechSynthesizer.SpeakSsmlAsync(String) Metoda

Definicja

Asynchronicznie mówi element String zawierający adiustację 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

Parametry

textToSpeak
String

Znaczniki SMML do wypowiadania.

Zwraca

Obiekt, który zawiera zawartość do wypowiadania.

Wyjątki

textToSpeakto null.

Przykłady

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();
    }
  }
}

Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez SpeakSsml(String)usługę .

Uwagi

Zawartość parametru textToSpeak musi zawierać element i musi być zgodna z językiem speakSpeech Synthesis Markup Language (SSML) w wersji 1.0. Aby uzyskać więcej informacji, zobacz Speech Synthesis Markup Language Reference (Dokumentacja języka znaczników syntezy mowy).

Aby synchronicznie mówić ciąg zawierający adiustację SSML, użyj SpeakSsml metody . Możesz użyć SpeakAsync polecenia , aby zainicjować asynchroniczne mówienie o ciągu, który nie zawiera znaczników SSML.

Podczas wywołania tej metody SpeechSynthesizer program może zgłosić następujące zdarzenia:

  • StateChanged. Podniesione, gdy stan mówienia syntezatora zmienia się.

  • SpeakStarted. Podniesione, gdy syntetyzator zaczyna generować mowę.

  • PhonemeReached. Podniesiony za każdym razem, gdy syntetyzator osiąga literę lub kombinację liter, które stanowią dyskretny dźwięk mowy w języku.

  • SpeakProgress. Podniesione za każdym razem syntetyzator kończy mówienie słowa.

  • VisemeReached. Podniesione za każdym razem, gdy mówione dane wyjściowe wymagają zmiany położenia ust lub mięśni twarzy używanych do tworzenia mowy.

  • BookmarkReached. Podniesione, gdy syntetyzator napotka zakładkę w wierszu polecenia.

  • VoiceChange. Podniesione, gdy głos mówiący dla syntetyzatora zmienia się.

  • SpeakCompleted. Podniesione po zakończeniu przetwarzania SpeakSsmlAsync operacji przez syntetyzator.

Jeśli aplikacja nie musi wykonywać zadań podczas mówienia, możesz użyć Speak metody lub SpeakSsml , aby synchronicznie wygenerować mowę.

Dotyczy