Bagikan melalui


SpeechSynthesizer.SpeakSsmlAsync(String) Metode

Definisi

Secara asinkron berbicara yang String berisi markup 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

Parameter

textToSpeak
String

Markup SMML untuk berbicara.

Mengembalikan

Objek yang berisi konten untuk diucapkan.

Pengecualian

textToSpeakadalah null.

Contoh

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

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh SpeakSsml(String).

Keterangan

Konten textToSpeak parameter harus menyertakan speak elemen dan harus sesuai dengan Speech Synthesis Markup Language (SSML) Versi 1.0. Untuk informasi selengkapnya, lihat Referensi Bahasa Markup Sintesis Ucapan.

Untuk mengucapkan string yang berisi markup SSML secara sinkron, gunakan metode .SpeakSsml Anda dapat menggunakan SpeakAsync untuk memulai bicara asinkron dari string yang tidak berisi markup SSML.

Selama panggilan ke metode ini, SpeechSynthesizer dapat menaikkan peristiwa berikut:

  • StateChanged. Muncul ketika status berbicara dari synthesizer berubah.

  • SpeakStarted. Dimunculkan ketika synthesizer mulai menghasilkan ucapan.

  • PhonemeReached. Dimunculkan setiap kali synthesizer mencapai huruf atau kombinasi huruf yang merupakan suara ucapan yang bijaksana dalam bahasa.

  • SpeakProgress. Dimunculkan setiap kali synthesizer selesai mengucapkan satu kata.

  • VisemeReached. Dinaikkan setiap kali output lisan membutuhkan perubahan posisi mulut atau otot wajah yang digunakan untuk menghasilkan ucapan.

  • BookmarkReached. Dimunculkan saat synthesizer menemukan bookmark dalam perintah.

  • VoiceChange. Muncul ketika suara berbicara untuk synthesizer berubah.

  • SpeakCompleted. Dimunculkan ketika synthesizer selesai memproses SpeakSsmlAsync operasi.

Jika aplikasi Anda tidak perlu melakukan tugas saat berbicara, Anda dapat menggunakan Speak atau SpeakSsml metode untuk menghasilkan ucapan secara sinkron.

Berlaku untuk