Udostępnij za pośrednictwem


TextFragment Klasa

Definicja

Zawiera informacje o atrybutach tekstu i mowy do użycia przez aparat syntezatora mowy.

public ref class TextFragment
public class TextFragment
type TextFragment = class
Public Class TextFragment
Dziedziczenie
TextFragment

Przykłady

Poniższy przykład jest częścią niestandardowej implementacji syntezy mowy dziedziczącej z , i TtsEngineSsml używającej TextFragment wartości , , SpeechEventInfo i FragmentState TtsEventId .

Implementacja programu Speak

  1. Odbiera tablicę wystąpień i tworzy nową tablicę wystąpień, które mają zostać przekazane do metody w TextFragment TextFragment Speak bazowym a aparatze syntezy.

    Podczas tworzenia obiektu w nowych wystąpieniach należy szczególnie ostrożnie stosować się do obiektu w TextOffset TextLength TextFragment TextToSpeak TextFragment pierwotnej części obiektu .

  2. Jeśli wartość TtsEngineAction wyliczenia według znalezionej we właściwości zwróconej przez właściwość każdego wystąpienia to Action FragmentState , State TextFragment Speak implementacja

    • Tłumaczy americanizm na britishisms w tekście, który ma być wypowiadany.

    • Jeśli właściwość w interfejsach dostarczonych do implementacji obsługuje typ zdarzenia, wystąpienie jest używane do utworzenia zdarzenia w celu utworzenia miernika postępu EventInterest ITtsEngineSite WordBoundary SpeechEventInfo syntezatora.

  3. Aparat renderowania mowy jest następnie wywoływany z zmodyfikowaną TextFragment tablicą.

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

Infrastruktura platformy rozpoznawania mowy rozpakowuje strukturę opartą na formacie XML danych wejściowych SSML i konstruuje TextFragment obiekty.

Zawartość mowy jest dostępna za pośrednictwem TextLength właściwości TextOffset , i TextToSpeak TextFragment wystąpienia.

Informacje o atrybutach mowy, takie jak wyróżnienie, wysokość i szybkość, są uzyskiwane z FragmentState obiektu zwróconego przez TextFragment State właściwość .

Konstruktory

TextFragment()

Tworzy nowe wystąpienie klasy TextFragment .

Właściwości

State

Pobiera lub ustawia informacje o atrybutach mowy dla TextFragment .

TextLength

Pobiera lub ustawia długość tekstu mowy w fragmencie.

TextOffset

Pobiera lub ustawia lokalizację początkową tekstu w fragmencie.

TextToSpeak

Pobiera lub ustawia tekst mowy fragmentu.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy