SpeechEventInfo Struct
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Służy do określania typu zdarzenia i jego argumentów (jeśli istnieją) do wygenerowania w ramach renderowania tekstu na mowę przez niestandardowy aparat syntetycznej mowy.
public value class SpeechEventInfo : IEquatable<System::Speech::Synthesis::TtsEngine::SpeechEventInfo>
public struct SpeechEventInfo : IEquatable<System.Speech.Synthesis.TtsEngine.SpeechEventInfo>
type SpeechEventInfo = struct
Public Structure SpeechEventInfo
Implements IEquatable(Of SpeechEventInfo)
- Dziedziczenie
- Implementuje
Przykłady
Poniższy przykład jest częścią niestandardowej implementacji syntezy mowy dziedziczonej TextFragmentz TtsEngineSsml, i przy użyciu funkcji , SpeechEventInfo, FragmentStateiTtsEventId
Implementacja programu Speak
Odbiera tablicę TextFragment wystąpień i tworzy nową tablicę TextFragment wystąpień, która ma zostać przekazana do
Speakmetody w podstawowym aucie syntezy.TtsEngineAction Jeśli wartość wyliczenia znaleziona z Action właściwości zwróconej FragmentState przez State właściwość każdego TextFragment wystąpienia to Speak, implementacja
Tłumaczy amerykanizm na Brytyjczyków w tekście, aby mówić.
EventInterest Jeśli właściwość w ITtsEngineSite interfejsach dostarczonych do implementacji obsługuje WordBoundary typ zdarzenia, SpeechEventInfo wystąpienie jest używane do tworzenia zdarzenia w celu napędzania miernika postępu syntetyzatora.
Aparat renderowania mowy jest następnie wywoływany za pomocą zmodyfikowanej TextFragment 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));
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
Niestandardowy aparat syntezy mowy żąda generowania zdarzeń w ramach platformy rozpoznawania mowy przez udostępnienie odpowiedniego SpeechEventInfo wystąpienia członkowi ITtsEngineSiteAddEvents obiektu witryny aparatu przekazanego Speakdo implementacji elementów , AddLexiconi RemoveLexicon.
Konstruktorów
| Nazwa | Opis |
|---|---|
| SpeechEventInfo(Int16, Int16, Int32, IntPtr) |
Tworzy odpowiedni SpeechEventInfoelement . |
Właściwości
| Nazwa | Opis |
|---|---|
| EventId |
Pobiera i ustawia zdarzenie platformy rozpoznawania mowy, którego wystąpienie SpeechEventInfo jest używane do żądania. |
| Param1 |
Pobiera i ustawia |
| Param2 |
Pobiera i ustawia |
| ParameterType |
Zwraca typ danych obiektu wskazywanego przez IntPtr parametr zwrócony przez Param2 parametr w bieżącym SpeechEventInfo obiekcie. |
Metody
| Nazwa | Opis |
|---|---|
| Equals(Object) |
Określa, czy określony obiekt jest wystąpieniem |
| Equals(SpeechEventInfo) |
Określa, czy określony |
| GetHashCode() |
Udostępnia kod skrótu |
Operatorów
| Nazwa | Opis |
|---|---|
| Equality(SpeechEventInfo, SpeechEventInfo) |
Określa, czy dwa wystąpienia |
| Inequality(SpeechEventInfo, SpeechEventInfo) |
Określa, czy dwa wystąpienia |