SpeechEventInfo Struktura

Definicja

Służy do określania typu zdarzenia i jego argumentów (jeśli istnieje) do wygenerowania jako część renderowania tekstu na mowę przez niestandardowy syntetyczny aparat rozpoznawania mowy.Used to specify the type of event, and its arguments (if any) to be generated as part of the rendering of text to speech by a custom synthetic speech engine.

public value class SpeechEventInfo : IEquatable<System::Speech::Synthesis::TtsEngine::SpeechEventInfo>
public struct SpeechEventInfo : IEquatable<System.Speech.Synthesis.TtsEngine.SpeechEventInfo>
type SpeechEventInfo = struct
Public Structure SpeechEventInfo
Implements IEquatable(Of SpeechEventInfo)
Dziedziczenie
SpeechEventInfo
Implementuje

Przykłady

Poniższy przykład jest częścią niestandardowej implementacji syntezy mowy, która dziedziczy z TtsEngineSsmli przy użyciu funkcji TextFragment, SpeechEventInfo, FragmentStateiTtsEventIdThe example below is part of a custom speech synthesis implementation inheriting from TtsEngineSsml, and using the use of TextFragment, SpeechEventInfo, FragmentState, and TtsEventId

Implementacja programuSpeakThe implementation of Speak

  1. Odbiera tablicę TextFragment wystąpień i tworzy nową TextFragment tablicę wystąpień Speak do przesłania do metody na źródłowym aparacie syntezy.Receives an array of TextFragment instances and creates a new array of TextFragment instances to be passed to the Speak method on an underlying synthesis engine.

  2. Action TextFragment SpeakJeśli wartość TtsEngineAction wyliczenia przez znalezienie FragmentState właściwościState w zwracanej przez właściwość każdego wystąpienia to, implementacjaIf the TtsEngineAction enumeration value by found from the Action property on the FragmentState returned by the State property of each TextFragment instance is Speak, the implementation

    • Tłumaczy amerykański Britishisms w tekst, który ma być mówiony.Translates Americanism to Britishisms in the text to be spoken.

    • EventInterest Jeśli właściwość ITtsEngineSite interfejsów dostarczonych SpeechEventInfo do implementacji obsługuje typ zdarzenia,wystąpieniejestużywanedotworzeniazdarzeniawceluutworzeniamiernikapostępusyntezatora.WordBoundaryIf the EventInterest property on the ITtsEngineSite interfaces provided to the implementation support the WordBoundary event type, a SpeechEventInfo instance is used to create an event to drive a synthesizer progress meter is created.

  3. Aparat renderowania mowy jest następnie wywoływany z zmodyfikowaną TextFragment tablicą.A speech rendering engine is then called with the modified TextFragment array.

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

Uwagi

Niestandardowy aparat syntezy mowy żąda generowania SpeechEventInfo zdarzeń w ramach platformy mowy, dostarczając odpowiednie wystąpienie do AddEvents elementu członkowskiego ITtsEngineSite obiektu lokacji aparatu przesłanego do implementacji Speak, AddLexiconi .RemoveLexiconA custom speech synthesis engine requests the generation of events under the Speech Platform by providing an appropriate SpeechEventInfo instance to AddEvents member of the ITtsEngineSite engine site object passed to implementations of Speak, AddLexicon, and RemoveLexicon.

Konstruktory

SpeechEventInfo(Int16, Int16, Int32, IntPtr)

Konstrukcje odpowiednie SpeechEventInfo.Constructs an appropriate SpeechEventInfo.

Właściwości

EventId

Pobiera i ustawia zdarzenie platformy mowy, którego wystąpienie SpeechEventInfo jest używane do żądania.Gets and set the Speech platform event which an instance of SpeechEventInfo is used to request.

Param1

Pobiera i ustawia integer wartość (param1 w konstruktorze), która ma zostać przeniesiona na platformę mowy w celu wygenerowania SpeechEventInfo zdarzenia, którego bieżące wystąpienie jest używane do żądania.Gets and set the integer value (param1 in the constructor) to be passed to the Speech platform to generate an event the current instance of SpeechEventInfo is used to request.

Param2

Pobiera i ustawia System.IntPtr wystąpienie (param2 w konstruktorze) odwołujące się do obiektu, który ma zostać przesłany do platformy mowy w celu wygenerowania SpeechEventInfo zdarzenia, którego bieżące wystąpienie jest używane do żądania.Gets and set the System.IntPtr instance (param2 in the constructor) referencing the object to be passed to the Speech platform to generate an event the current instance of SpeechEventInfo is used to request.

ParameterType

Zwraca typ danych obiektu wskazywanego przez IntPtr zwracany Param2 przez parametr w bieżącym SpeechEventInfo obiekcie.Returns the data type of the object pointed to by the IntPtr returned by the Param2 parameter on the current SpeechEventInfo object.

Metody

Equals(Object)

Określa, czy określony obiekt jest wystąpieniem elementu SpeechEventInfo i jest równy bieżącemu wystąpieniu elementu SpeechEventInfo.Determines whether a specified object is an instance of SpeechEventInfo and equal to the current instance of SpeechEventInfo.

Equals(SpeechEventInfo)

Określa, czy określony obiekt SpeechEventInfo jest równy bieżącemu wystąpieniu elementu SpeechEventInfo.Determines whether a specified SpeechEventInfo object is equal to the current instance of SpeechEventInfo.

GetHashCode()

Zawiera kod skrótu dla obiektu SpeechEventInfo .Provides a hash code for a SpeechEventInfo object.

Operatory

Equality(SpeechEventInfo, SpeechEventInfo)

Określa, czy dwa wystąpienia elementu SpeechEventInfo są równe.Determines whether two instances of SpeechEventInfo are equal.

Inequality(SpeechEventInfo, SpeechEventInfo)

Określa, czy dwa wystąpienia elementu SpeechEventInfo nie są równe.Determines whether two instances of SpeechEventInfo are not equal.

Dotyczy