Aracılığıyla paylaş


SpeakProgressEventArgs Sınıf

Tanım

Olaydaki SpeakProgress verileri döndürür.

public ref class SpeakProgressEventArgs : System::Speech::Synthesis::PromptEventArgs
public class SpeakProgressEventArgs : System.Speech.Synthesis.PromptEventArgs
type SpeakProgressEventArgs = class
    inherit PromptEventArgs
Public Class SpeakProgressEventArgs
Inherits PromptEventArgs
Devralma

Örnekler

Aşağıdaki örnekte, uygulamasından SpeakProgressEventArgsedinilebilen bilgiler gösterilmektedir. Oluşturulan EndParagraphStartSentenceSSML'ye StartParagraphp, /p>,< s>ve /s etiketleri eklenerek , ,< ve <yöntemlerinin öğesini nasıl etkilediğine dikkat edin.><>CharacterCountEndSentence Ayrıca, çıktıda "%30" için iki giriş vardır ve her sözcük için bu sayı dizesini (yüzde otuz) seslendirecek bir tane vardır. CharacterCount ve CharacterPosition her giriş için aynıdır ve "%30" karakterlerini temsil eder. Ancak, AudioPosition "otuz" ve "yüzde" SpeechSynthesizersözcüklerini ifade eden ifadeleri yansıtacak şekilde değişir.

using System;  
using System.Speech.Synthesis;  

namespace SampleSynthesis  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Initialize a new instance of the SpeechSynthesizer.  
      using (SpeechSynthesizer synth = new SpeechSynthesizer())  
      {  

        // Configure the audio output.   
        synth.SetOutputToWaveFile(@"C:\test\weather.wav");  

        // Create a SoundPlayer instance to play the output audio file.  
        System.Media.SoundPlayer m_SoundPlayer =  
          new System.Media.SoundPlayer(@"C:\test\weather.wav");  

        // Build a prompt containing a paragraph and two sentences.  
        PromptBuilder builder = new PromptBuilder(  
          new System.Globalization.CultureInfo("en-US"));  
        builder.StartParagraph();  
        builder.StartSentence();  
        builder.AppendText(  
          "The weather forecast for today is partly cloudy with some sun breaks.");  
        builder.EndSentence();  
        builder.StartSentence();  
        builder.AppendText(  
          "Tonight's weather will be cloudy with a 30% chance of showers.");  
        builder.EndSentence();  
        builder.EndParagraph();  

        // Add a handler for the SpeakProgress event.  
        synth.SpeakProgress +=  
          new EventHandler<SpeakProgressEventArgs>(synth_SpeakProgress);  

        // Speak the prompt and play back the output file.  
        synth.Speak(builder);  
        m_SoundPlayer.Play();  
      }  

      Console.WriteLine();  
      Console.WriteLine("Press any key to exit...");  
      Console.ReadKey();  
    }  

    // Write each word and its character position to the console.  
    static void synth_SpeakProgress(object sender, SpeakProgressEventArgs e)  
    {  
      Console.WriteLine("CharPos: {0}   CharCount: {1}   AudioPos: {2}    \"{3}\"",  
        e.CharacterPosition, e.CharacterCount, e.AudioPosition, e.Text);  
    }  
  }  
}  

Açıklamalar

nesnesi olayı oluşturduğunda SpeechSynthesizerSpeakProgress bir SpeakProgressEventArgs örneği oluşturulur. , SpeechSynthesizer , SpeakAsyncSpeakSsmlveya SpeakSsmlAsync yöntemlerinden herhangi birini Speakkullanarak bir istemde konuştuğu her yeni sözcük için bu olayı tetikler.

Döndürülen veriler, kodun oluşturduğu Konuşma Sentezi Biçimlendirme Dili'ni (SSML) temel alır. için CharacterCount döndürülen değerler boşluklar ile kod tarafından oluşturulan SSML etiketlerinin karakterlerini ve içeriğini içerir.

Özellikler

AudioPosition

Olayın ses konumunu alır.

Cancelled

Zaman uyumsuz işlemin iptal edilip edilmediğini belirten bir değer alır.

(Devralındığı yer: AsyncCompletedEventArgs)
CharacterCount

Olay tetiklemeden hemen önce konuşulan sözcükteki karakter sayısını alır.

CharacterPosition

İstemin başından, sözcüğün ilk harfinden önceki konuma kadar olan karakter ve boşluk sayısını alır.

Error

Zaman uyumsuz bir işlem sırasında hangi hatanın oluştuğunu belirten bir değer alır.

(Devralındığı yer: AsyncCompletedEventArgs)
Prompt

Olayla ilişkili istem alır.

(Devralındığı yer: PromptEventArgs)
Text

Olay tetiklendiğinde kısa bir zaman önce konuşulan metin.

UserState

Zaman uyumsuz görevin benzersiz tanımlayıcısını alır.

(Devralındığı yer: AsyncCompletedEventArgs)

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
RaiseExceptionIfNecessary()

Zaman uyumsuz bir işlem başarısız olursa kullanıcı tarafından sağlanan bir özel durum oluşturur.

(Devralındığı yer: AsyncCompletedEventArgs)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır