EventParameterType Sabit listesi
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.
Konuşma sentezi olaylarının geçir olduğu veri işaretçilerinin türlerini numaralar.
public enum class EventParameterType
public enum EventParameterType
type EventParameterType =
Public Enum EventParameterType
- Devralma
Alanlar
Object | 2 | Şu anda desteklenmiyor. |
Pointer | 3 | Şu anda desteklenmiyor. |
String | 4 | için bağımsız |
Token | 1 | için bağımsız değişkeninin, bir Windows Masaüstü Konuşma Teknolojisi belirtecsine başvurarak oluşturulmuş olduğunu gösterir. Bu, bir kaynağı temsil eden Windows Masaüstü Konuşma Teknolojisi nesnesidir |
Undefined | 0 | bağımsız |
Ö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
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.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.
üzerinde, SpeechEventInfo tarafından döndürülen EventParameterType üye değeri de dahil olmak üzere ParameterType parametreleri, yöntemiyle oluşturulan olayı günlüğe
LogSpeechEvent
kaydedilir.
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));
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
Bir EventParameterType
nesnesi oluşturmada enumeration SpeechEventInfo kullanılır. için oluşturucuya bağımsız değişken olarak geçirilen bir numaralama üyesi, oluşturucu (bir olması gereken ) bağımsız değişkeninin EventParameterType
parameterType
nasıl SpeechEventInfo param2
IntPtr yorumlanması gerektiğini belirtir.
seçimi, bir üyesi tarafından belirtilen istenen olay EventParameterType
türüne göre dikte System.Speech.Synthesis.TtsEngine.TtsEventId edilmektedir.
kullanımı hakkında ayrıntılı bilgi EventParameterType
için, için belgelere bakın EventId
Not
Şu anda, ad alanının üyeleri kullanılarak yazılmış yönetilen yapay konuşma altyapılarının System.Speech.Synthesis örnekleri, yapıt sonrasında kaynakları değiştiremez.