File: Synthesis\VisemeEventArgs.cs
Web Access
Project: src\src\runtime\src\libraries\System.Speech\src\System.Speech.csproj (System.Speech)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

namespace System.Speech.Synthesis
{
    public class VisemeReachedEventArgs : PromptEventArgs
    {
        #region Constructors
        internal VisemeReachedEventArgs(Prompt speakPrompt, int currentViseme, TimeSpan audioPosition, TimeSpan duration, SynthesizerEmphasis emphasis, int nextViseme) : base(speakPrompt)
        {
            _currentViseme = currentViseme;
            _audioPosition = audioPosition;
            _duration = duration;
            _emphasis = emphasis;
            _nextViseme = nextViseme;
        }

        #endregion

        #region Public Properties
        public int Viseme
        {
            get { return _currentViseme; }
        }
        public TimeSpan AudioPosition
        {
            get { return _audioPosition; }
        }
        public TimeSpan Duration
        {
            get { return _duration; }
        }
        public SynthesizerEmphasis Emphasis
        {
            get { return _emphasis; }
        }
        public int NextViseme
        {
            get { return _nextViseme; }
        }

        #endregion

        #region Private Fields

        // Current Viseme being synthesized
        private int _currentViseme;

        // Audio position of current phoneme
        private TimeSpan _audioPosition;

        // Duration of current Viseme
        private TimeSpan _duration;

        // Features of the current phoneme
        private SynthesizerEmphasis _emphasis;

        // Next Viseme to be synthesized
        private int _nextViseme;

        #endregion
    }
}