SpeechEventInfo Estrutura

Definição

Usado para especificar o tipo de evento e seus argumentos (se houver) a serem gerados como parte da renderização de texto em fala por um mecanismo de conversão de texto em fala sintética personalizado.Used to specify the type of event, and its arguments (if any) to be generated as part of the rendering of text to speech by a custom synthetic speech engine.

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)
Herança
SpeechEventInfo
Implementações

Exemplos

O exemplo a seguir faz parte de uma implementação de síntese de fala personalizada TtsEngineSsmlque herda de e usando o TextFragmentuso SpeechEventInfode FragmentState,, eTtsEventIdThe example below is part of a custom speech synthesis implementation inheriting from TtsEngineSsml, and using the use of TextFragment, SpeechEventInfo, FragmentState, and TtsEventId

A implementação deSpeakThe implementation of Speak

  1. Recebe uma matriz de TextFragment instâncias e cria uma nova matriz de TextFragment instâncias a ser passada para o Speak método em um mecanismo de síntese subjacente.Receives an array of TextFragment instances and creates a new array of TextFragment instances to be passed to the Speak method on an underlying synthesis engine.

  2. Se o TtsEngineAction valor de enumeração encontrado Action na propriedade State no FragmentState retornado pela propriedade de cada TextFragment instância for Speak, a implementaçãoIf the TtsEngineAction enumeration value by found from the Action property on the FragmentState returned by the State property of each TextFragment instance is Speak, the implementation

    • Traduz o American Britishisms no texto a ser falado.Translates Americanism to Britishisms in the text to be spoken.

    • Se a EventInterest ITtsEngineSite Propriedade nas interfaces fornecidas para a implementação oferecer suporte ao WordBoundary tipo de evento, SpeechEventInfo uma instância será usada para criar um evento para gerar um medidor de progresso do sintetizador criado.If the EventInterest property on the ITtsEngineSite interfaces provided to the implementation support the WordBoundary event type, a SpeechEventInfo instance is used to create an event to drive a synthesizer progress meter is created.

  3. Um mecanismo de renderização de fala é chamado com a TextFragment matriz modificada.A speech rendering engine is then called with the modified TextFragment array.

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

Comentários

Um mecanismo de síntese de fala personalizado solicita a geração de eventos na plataforma de fala, fornecendo SpeechEventInfo uma instância AddEvents apropriada para membro ITtsEngineSite do objeto de site do mecanismo passado Speakpara implementações do, AddLexicone .RemoveLexiconA custom speech synthesis engine requests the generation of events under the Speech Platform by providing an appropriate SpeechEventInfo instance to AddEvents member of the ITtsEngineSite engine site object passed to implementations of Speak, AddLexicon, and RemoveLexicon.

Construtores

SpeechEventInfo(Int16, Int16, Int32, IntPtr)

Constrói um SpeechEventInfo apropriado.Constructs an appropriate SpeechEventInfo.

Propriedades

EventId

Obtém e define o evento da plataforma de fala que uma instância de SpeechEventInfo é usada para solicitar.Gets and set the Speech platform event which an instance of SpeechEventInfo is used to request.

Param1

Obtém e define o valor de integer (param1 no construtor) a ser passado para a plataforma de fala para gerar um evento que a instância de SpeechEventInfo atual é usada para solicitar.Gets and set the integer value (param1 in the constructor) to be passed to the Speech platform to generate an event the current instance of SpeechEventInfo is used to request.

Param2

Obtém e define a instância de System.IntPtr (param2 no construtor) que referencia o objeto a ser passado para a plataforma de fala para gerar um evento que a instância atual do SpeechEventInfo é usada para solicitar.Gets and set the System.IntPtr instance (param2 in the constructor) referencing the object to be passed to the Speech platform to generate an event the current instance of SpeechEventInfo is used to request.

ParameterType

Retorna o tipo de dados do objeto apontado pelo IntPtr retornado pelo parâmetro Param2 no objeto SpeechEventInfo atual.Returns the data type of the object pointed to by the IntPtr returned by the Param2 parameter on the current SpeechEventInfo object.

Métodos

Equals(Object)

Determina se um objeto especificado é uma instância de SpeechEventInfo e é igual à instância atual de SpeechEventInfo.Determines whether a specified object is an instance of SpeechEventInfo and equal to the current instance of SpeechEventInfo.

Equals(SpeechEventInfo)

Determina se um objeto SpeechEventInfo especificado é igual à instância atual de SpeechEventInfo.Determines whether a specified SpeechEventInfo object is equal to the current instance of SpeechEventInfo.

GetHashCode()

Fornece um código hash para um objeto SpeechEventInfo.Provides a hash code for a SpeechEventInfo object.

Operadores

Equality(SpeechEventInfo, SpeechEventInfo)

Determina se duas instâncias de SpeechEventInfo são iguais.Determines whether two instances of SpeechEventInfo are equal.

Inequality(SpeechEventInfo, SpeechEventInfo)

Determina se duas instâncias de SpeechEventInfo não são iguais.Determines whether two instances of SpeechEventInfo are not equal.

Aplica-se a