Aracılığıyla paylaş


TextFragment Sınıf

Tanım

Konuşma sentezleyici altyapısı tarafından tüketilen metin ve konuşma özniteliği bilgilerini içerir.

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

Örnekler

Aşağıdaki örnek, 'den devralınan ve , , ve kullanımını kullanan TtsEngineSsml özel konuşma sentezi TextFragment uygulamasının bir SpeechEventInfo FragmentState TtsEventId parçasıdır.

uygulamasının Speak

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

    Yeni örneklerde oluşturulurken özgün olan üzerinde , TextOffset ile ilgili olarak özellikle dikkat etmek için TextLength TextFragment TextToSpeak TextFragment kullanılır.

  2. Her örneğin özelliği tarafından döndürülen özelliğinden bulunan numaralama değeri TtsEngineAction Action FragmentState State TextFragment Speak ise, uygulama

    • Amerikanlığı, konuşulan metinde İngilizliklere çevirir.

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

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

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

}  

Açıklamalar

Konuşma platformu altyapısı, SSML girişinin XML tabanlı yapısının paketini açıp nesneleri TextFragment oluşturur.

Konuşma içeriği, bir örneğin TextLength , ve özellikleri aracılığıyla TextOffset TextToSpeak TextFragment kullanılabilir.

Vurgu, konuşma ve hız gibi konuşma özniteliği bilgileri özelliği tarafından döndürülen FragmentState nesneden TextFragment State elde edilir.

Oluşturucular

TextFragment()

yeni bir örneği TextFragment oluşturma.

Özellikler

State

için konuşma özniteliği bilgilerini alır veya TextFragment ayarlar.

TextLength

Parçada konuşma metninin uzunluğunu alır veya ayarlar.

TextOffset

Parçada metnin başlangıç konumunu alır veya ayarlar.

TextToSpeak

Parçanın konuşma metnini alır veya ayarlar.

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)
ToString()

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

(Devralındığı yer: Object)

Şunlara uygulanır