SpeechEventInfo.ParameterType Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
IntPtr Param2 Geçerli nesne üzerindeki parametresi tarafından döndürülen nesnesinin gösterdiği nesnenin veri türünü döndürür SpeechEventInfo .
public:
property short ParameterType { short get(); };
public short ParameterType { get; }
member this.ParameterType : int16
Public ReadOnly Property ParameterType As Short
Özellik Değeri
short
Numaralandırma üyesine karşılık gelen EventParameterType ve IntPtr parametresi tarafından döndürülen Param2 ve geçerli nesnenin oluşturucusunun ikinci bağımsız değişkeni olarak kullanılan nesnenin veri türünü belirten bir değer SpeechEventInfo .
Örnekler
Aşağıdaki örnek, ' den devralan özel bir konuşma sen, uygulamasının bir parçasıdır TtsEngineSsml ve,, TextFragment SpeechEventInfo FragmentState ve kullanımını kullanarak TtsEventId
Uygulamasının Speak
Örnek dizisini alır TextFragment ve TextFragment
Speak
temel alınan bir sensıs altyapısında yönteme geçirilecek yeni bir örnek dizisi oluşturur.TtsEngineAction Action FragmentState Her örneğin özelliği tarafından döndürülen özellikten bulunan bir numaralandırma değeri, State TextFragment Speak uygulama
Americanism, konuşulan metinde Britishisms 'e çevirir.
EventInterest ITtsEngineSite Uygulamaya sunulan arayüzlerde bulunan özellik WordBoundary olay türünü destekliyorsa, SpeechEventInfo bir Birleştiricisi oluşturmak için bir olay oluşturmak için bir örnek kullanılır.
Dahil parametreler, SpeechEventInfo ParameterType yöntemi aracılığıyla oluşturulan olayı günlüğe kaydetmek için kullanılır
LogSpeechEvent
.
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
Özelliğinin başvurusu üzerindeki Gereksinimler System.IntPtr
Param2 SpeechEventInfo , öğesinin değerlerine ve özelliklerine göre benzersiz şekilde belirlenir EventId ParameterType SpeechEventInfo .
Kullanımı hakkında ayrıntılı bilgi için Param2 belgelerine bakın EventId .