Beispiel #1
0
        /// <summary>
        /// Initialize the synthesis subsystem.
        /// </summary>
        internal override void Start()
        {
            if (syn == null)
            {
                return;
            }

            // Fire up the synth subsystem.
            syn.Start();

            // Get the list of installed voices.  This is done in a
            // platform-specific way.
            voices.Populate(syn.GetVoices());
            voices.Start();

            // Create the work queue if we can deal with it
            if (control.osLayer != null)
            {
                queue = new Queue <QueuedSpeech>();

                // Start the background thread that does all the text-to-speech.
                speakingThread = new Thread(SpeakLoop)
                {
                    IsBackground = true,
                    Name         = "SpeakingThread"
                };
                speakingThread.Start();
            }
        }