SpeechEventInfo SpeechEventInfo SpeechEventInfo SpeechEventInfo Struct

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
SpeechEventInfoSpeechEventInfoSpeechEventInfoSpeechEventInfo
Implémente

Exemples

L’exemple ci-dessous fait partie d’une implémentation de synthèse vocale personnalisée héritant de TtsEngineSsmlet à l’aide de l’utilisation de TextFragment, SpeechEventInfo, FragmentState, et TtsEventIdThe 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 de SpeakThe implementation of Speak

  1. Reçoit un tableau de TextFragment instances et crée un tableau de TextFragment instances à passer à la Speak méthode sur un moteur de synthèse sous-jacents.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 le TtsEngineAction valeur d’énumération par trouvé à partir de la Action propriété sur le FragmentState retourné par la State propriété de chaque TextFragment instance est Speak, 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 Americanism à Britishisms dans le texte à énoncer.Translates Americanism to Britishisms in the text to be spoken.

    • Si le EventInterest propriété sur le ITtsEngineSite fournis à la prise en charge de l’implémentation des interfaces le WordBoundary type d’événement, un SpeechEventInfo instance est utilisée pour créer un événement au lecteur une jauge de progression du synthétiseur est créée.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 de reconnaissance vocale est ensuite appelé avec le texte modifié TextFragment tableau.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ée demande la génération d’événements sous la plateforme de reconnaissance vocale en fournissant un approprié SpeechEventInfo l’instance à AddEvents membre de la ITtsEngineSite objet de site du moteur passé aux implémentations de Speak, 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) SpeechEventInfo(Int16, Int16, Int32, IntPtr) SpeechEventInfo(Int16, Int16, Int32, IntPtr) SpeechEventInfo(Int16, Int16, Int32, IntPtr)

Construit un SpeechEventInfo approprié.Constructs an appropriate SpeechEventInfo.

Propriétés

EventId EventId EventId 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 Param1 Param1 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 Param2 Param2 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 ParameterType ParameterType 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) Equals(Object) Equals(Object) 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) Equals(SpeechEventInfo) Equals(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() GetHashCode() GetHashCode() GetHashCode()

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

Opérateurs

Equality(SpeechEventInfo, SpeechEventInfo) Equality(SpeechEventInfo, SpeechEventInfo) Equality(SpeechEventInfo, SpeechEventInfo) Equality(SpeechEventInfo, SpeechEventInfo)

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

Inequality(SpeechEventInfo, SpeechEventInfo) Inequality(SpeechEventInfo, SpeechEventInfo) Inequality(SpeechEventInfo, SpeechEventInfo) 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 à