EventParameterType Sabit listesi

Tanım

Konuşma sentezi olaylarına geçirilen veri işaretçisi türlerini numaralandırır.

public enum class EventParameterType
public enum EventParameterType
type EventParameterType = 
Public Enum EventParameterType
Devralma
EventParameterType

Alanlar

Name Değer Description
Undefined 0

bağımsız değişkeninin param2SpeechEventInfo tanımsız olduğunu gösterir. Genel olarak param1 ve param2 sonra yoksayılır. Ancak, ise EventIdWordBoundarybir ilerleme ölçümü olayı oluşturulabilir. param1 geçerli sözcüğün uzunluğunu içeren bir tamsayı ve param2IntPtr geçerli sözcüğün uzaklığını içeren bir tamsayı olmalıdır.

Token 1

bağımsız değişkenininparam2, ses (SpeechEventInfo gibi) gibi bir kaynağı temsil eden bir Windows Masaüstü Konuşma Teknolojisi nesnesi olan bir Windows Masaüstü Konuşma Teknolojisi belirtecine başvuran bir kullanılarak oluşturulduğunu IntPtrPtrToStructureVoiceInfo gösterir. param1 herhangi bir değer alabilir.

Object 2

Şu anda desteklenmiyor.

Pointer 3

Şu anda desteklenmiyor.

String 4

bağımsız değişkeninin param2 bir SpeechEventInfo nesneye System.IntPtr başvuruda System.Runtime.InteropServices.Marshal.StringToCoTaskMemUni bulunarak oluşturulduğunu; System.String herhangi bir param1 değeri alabileceğini gösterir.

Örnekler

Aşağıdaki örnek, öğesinden TtsEngineSsmldevralınan ve , , TextFragmentSpeechEventInfove FragmentStatekullanımını kullanan özel konuşma sentezi uygulamasının TtsEventIdbir parçasıdır.

Uygulamasının Speak

  1. Bir örnek dizisi TextFragment alır ve temel alınan sentez altyapısında TextFragment yöntemine geçirilecek yeni bir örnek dizisi Speak oluşturur.

  2. TtsEngineAction Her Action örneğin özelliği tarafından FragmentState döndürülen özelliğinde StateTextFragment bulunan numaralandırma değeri iseSpeak, uygulama

    • Konuşulacak metinde Amerikancılığı İngilizliklere çevirir.

    • EventInterest Uygulamaya sağlanan arabirimlerdeki özelliği ITtsEngineSite olay türünü destekliyorsaWordBoundary, bir SpeechEventInfo sentezleyici ilerleme ölçümünü yönlendirmek için olay oluşturmak için bir örnek kullanılır.

      tarafından döndürülen SpeechEventInfoüye değeri de dahil olmak üzere EventParameterType üzerindeki ParameterTypeparametreleri yöntemi aracılığıyla LogSpeechEvent oluşturulan olayı günlüğe kaydetmek için kullanılır.

  3. Daha sonra değiştirilen dizi ile bir konuşma işleme altyapısı çağrılır TextFragment .

private const int WordBoundaryFlag = 1 << (int)TtsEventId.WordBoundary;
private readonly char[] spaces = new char[] { ' ', '\t', '\r', '\n' };
internal struct UsVsUk
{
  internal string UK;
  internal string US;
}

override public void Speak (TextFragment [] frags, IntPtr wfx, ITtsEngineSite site)
{
  TextFragment [] newFrags=new TextFragment[frags.Length];

  for (int i=0;i<frags.Length;i++){
    newFrags[i].State=frags[i].State;
    //truncate
    newFrags[i].TextToSpeak = frags[i].TextToSpeak.Substring(frags[i].TextOffset,
                               frags[i].TextLength);
    newFrags[i].TextLength = newFrags[i].TextToSpeak.Length;
    newFrags[i].TextOffset = 0;
    if (newFrags[i].State.Action == TtsEngineAction.Speak) {
      //Us to UK conversion
      foreach (UsVsUk term in TransList) {
      newFrags[i].TextToSpeak.Replace(term.US, term.UK);
      }
      //Generate progress meter events if supported
      if ((site.EventInterest & WordBoundaryFlag) != 0) {
      string[] subs = newFrags[i].TextToSpeak.Split(spaces);

      foreach (string s in subs) {
        int offset = newFrags[i].TextOffset;
        SpeechEventInfo spEvent = new SpeechEventInfo((Int16)TtsEventId.WordBoundary,
                (Int16)EventParameterType.Undefined,
                 s.Length, new IntPtr(offset));
         LogSpeechEvent(spEvent.EventId,
                        spEvent.ParameterType,
                        spEvent.Param1,
                        spEvent.Param2);
        offset += s.Length;
        if (s.Trim().Length > 0) {
          SpeechEventInfo[] events = new SpeechEventInfo[1];
          events[0] = spEvent;
          site.AddEvents(events, 1);
        }
      }
      }
    }
  }

  _baseSynthesize.Speak(newFrags, wfx, site);

}

Açıklamalar

Sabit EventParameterType listesi, bir SpeechEventInfo nesne oluşturulurken kullanılır. EventParameterType için oluşturucuya parameterTypeSpeechEventInfo bağımsız değişken olarak geçirilen bir numaralandırma üyesi, oluşturucunun bağımsız değişkeninin (bir param2olması gerekir) nasıl IntPtr yorumlanması gerektiğini belirtir.

seçeneği, öğesinin EventParameterType bir üyesi tarafından belirtildiği gibi istenen olay türüne System.Speech.Synthesis.TtsEngine.TtsEventIdgöre belirlenir.

kullanma EventParameterTypehakkında ayrıntılı bilgi için belgelerine bakın EventId

Note

Şu anda, ad alanının üyeleri kullanılarak yazılmış yönetilen yapay konuşma altyapılarının System.Speech.Synthesis örnekleri, oluşturmadan sonra kaynakları değiştiremez.

Şunlara uygulanır

Ayrıca bkz.