EventParameterType Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wylicza typy wskaźników danych przekazywane do zdarzeń syntezy mowy.
public enum class EventParameterType
public enum EventParameterType
type EventParameterType =
Public Enum EventParameterType
- Dziedziczenie
Pola
Object | 2 | Obecnie nieobsługiwane. |
Pointer | 3 | Obecnie nieobsługiwane. |
String | 4 | Wskazuje, że |
Token | 1 | Wskazuje, że argument do |
Undefined | 0 | Wskazuje, że argument argumentu |
Przykłady
Poniższy przykład jest częścią niestandardowej implementacji syntezy mowy dziedziczonej z TtsEngineSsml, i przy użyciu funkcji TextFragment, SpeechEventInfo, FragmentStatei TtsEventId.
Implementacja Speak
Odbiera tablicę TextFragment wystąpień i tworzy nową tablicę TextFragment wystąpień, która ma zostać przekazana do metody w
Speak
podstawowym aucie syntezy.TtsEngineAction Jeśli wartość wyliczenia znaleziona z Action właściwości FragmentState zwróconej przez State właściwość każdego TextFragment wystąpienia to Speak, implementacja
Tłumaczy amerykanizm na Brytyjczyków w tekście, który ma być wypowiadany.
EventInterest Jeśli właściwość w ITtsEngineSite interfejsach dostarczonych do implementacji obsługuje WordBoundary typ zdarzenia, SpeechEventInfo wystąpienie jest używane do utworzenia zdarzenia w celu napędzania syntetyzatora miernika postępu jest tworzony.
Parametry w parametrach SpeechEventInfo, w tym wartość składowa EventParameterType zwrócona przez ParameterTypeusługę , są używane do rejestrowania zdarzenia wygenerowanego
LogSpeechEvent
za pomocą metody .
Aparat renderowania mowy jest następnie wywoływany TextFragment za pomocą zmodyfikowanej tablicy.
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);
}
Uwagi
Wyliczenie EventParameterType
jest używane podczas konstruowania SpeechEventInfo obiektu. Element EventParameterType
członkowski wyliczenia przekazany jako parameterType
argument SpeechEventInfo konstruktora dla określa, w jaki sposób param2
argument konstruktora (który musi być elementem IntPtr) jest interpretowany.
Wybór EventParameterType
jest określany przez żądany typ zdarzenia określony przez element członkowski .System.Speech.Synthesis.TtsEngine.TtsEventId
Aby uzyskać szczegółowe informacje na temat sposobu korzystania z EventParameterType
usługi , zobacz dokumentację EventId
Uwaga
Obecnie wystąpienia zarządzanych syntetycznych aparatów mowy napisanych przy użyciu elementów członkowskich System.Speech.Synthesis przestrzeni nazw nie mogą zmieniać zasobów po budowie.