SpeechEventInfo Structure

Définition

Utilisé pour spécifier le type d’événement et ses arguments (le cas échéant) à générer dans le cadre de la restitution de la conversion de texte par synthèse vocale par un moteur de synthèse vocal personnalisé.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)
Héritage
SpeechEventInfo
Implémente

Exemples

L’exemple ci-dessous fait partie d’une implémentation de synthèse vocale personnalisée TtsEngineSsmlqui hérite de, et TextFragmentutilise l' FragmentStateutilisation de, SpeechEventInfo, etTtsEventIdThe example below is part of a custom speech synthesis implementation inheriting from TtsEngineSsml, and using the use of TextFragment, SpeechEventInfo, FragmentState, and TtsEventId

L’implémentation deSpeakThe implementation of Speak

  1. Reçoit un tableau d' TextFragment instances et crée un nouveau tableau d' TextFragment instances à passer à la Speak méthode sur un moteur de synthèse sous-jacent.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. Si la TtsEngineAction valeur d’énumération trouvée à Action partir de la FragmentState propriété sur le State retourné par la TextFragment propriété de Speakchaque instance est, l’implémentationIf 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

    • Traduit l’americanisme en Britishisms dans le texte à prononcer.Translates Americanism to Britishisms in the text to be spoken.

    • Si la EventInterest propriété sur les ITtsEngineSite interfaces fournies à l’implémentation prend en WordBoundary charge le type d' SpeechEventInfo événement, une instance est utilisée pour créer un événement pour piloter un compteur de progression de synthétiseur créé.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. Un moteur de rendu vocal est ensuite appelé avec le TextFragment tableau modifié.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);  
  
}  

Remarques

Un moteur de synthèse vocale personnalisé demande la génération d’événements sous la plateforme de reconnaissance vocale en SpeechEventInfo fournissant une AddEvents instance appropriée à ITtsEngineSite un membre de l’objet de site de Speakmoteur passé aux implémentations de, AddLexicon, et RemoveLexicon.A 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.

Constructeurs

SpeechEventInfo(Int16, Int16, Int32, IntPtr)

Construit un SpeechEventInfo approprié.Constructs an appropriate SpeechEventInfo.

Propriétés

EventId

Obtient et définit l'événement de plateforme de reconnaissance vocale demandé en utilisant une instance de SpeechEventInfo.Gets and set the Speech platform event which an instance of SpeechEventInfo is used to request.

Param1

Obtient et définit la valeur de integer (param1 dans le constructeur) à passer à la plateforme de reconnaissance vocale pour générer un événement demandé en utilisant l'instance actuelle de SpeechEventInfo.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

Obtient et définit l'instance de System.IntPtr (param2 dans le constructeur) qui référence l'objet à passer à la plateforme de reconnaissance vocale pour générer un événement demandé en utilisant l'instance actuelle de SpeechEventInfo.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

Retourne le type de données de l'objet pointé vers IntPtr retourné par le paramètre Param2 sur l'objet SpeechEventInfo actuel.Returns the data type of the object pointed to by the IntPtr returned by the Param2 parameter on the current SpeechEventInfo object.

Méthodes

Equals(Object)

Détermine si un objet spécifié est une instance de SpeechEventInfo et est égal à l’instance actuelle de SpeechEventInfo.Determines whether a specified object is an instance of SpeechEventInfo and equal to the current instance of SpeechEventInfo.

Equals(SpeechEventInfo)

Détermine si un objet SpeechEventInfo spécifié est égal à l’instance actuelle de SpeechEventInfo.Determines whether a specified SpeechEventInfo object is equal to the current instance of SpeechEventInfo.

GetHashCode()

Fournit un code de hachage pour un objet SpeechEventInfo.Provides a hash code for a SpeechEventInfo object.

Opérateurs

Equality(SpeechEventInfo, SpeechEventInfo)

Détermine si deux instances de SpeechEventInfo sont égales.Determines whether two instances of SpeechEventInfo are equal.

Inequality(SpeechEventInfo, SpeechEventInfo)

Détermine si deux instances de SpeechEventInfo ne sont pas égales.Determines whether two instances of SpeechEventInfo are not equal.

S’applique à