Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Synthesis / InstalledVoice.cs / 1 / InstalledVoice.cs
//------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------- using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.IO; using System.Speech.AudioFormat; using System.Speech.Internal; using System.Speech.Internal.ObjectTokens; using System.Speech.Internal.Synthesis; using System.Speech.Synthesis.TtsEngine; using System.Threading; using RegistryDataKey = System.Speech.Internal.ObjectTokens.RegistryDataKey; using RegistryEntry = System.Collections.Generic.KeyValuePair; #pragma warning disable 1634, 1691 // Allows suppression of certain PreSharp messages. namespace System.Speech.Synthesis { /// /// TODOC /// [DebuggerDisplay ("{VoiceInfo.Name} [{Enabled ? \"Enabled\" : \"Disabled\"}]")] public class InstalledVoice { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors internal InstalledVoice (VoiceSynthesis voiceSynthesizer, VoiceInfo voice) { _voiceSynthesizer = voiceSynthesizer; _voice = voice; _enabled = true; } #endregion //******************************************************************** // // Public Properties // //******************************************************************* #region public Properties ////// TODOC /// public VoiceInfo VoiceInfo { get { return _voice; } } ////// TODOC /// public bool Enabled { get { return _enabled; } set { SetEnabledFlag (value, true); } } #endregion Events //******************************************************************** // // Public Methods // //******************************************************************** #region public Methods /// TODOC public override bool Equals (object obj) { InstalledVoice ti2 = obj as InstalledVoice; if (ti2 == null) { return false; } return VoiceInfo.Name == ti2.VoiceInfo.Name && VoiceInfo.Age == ti2.VoiceInfo.Age && VoiceInfo.Gender == ti2.VoiceInfo.Gender && VoiceInfo.Culture.Equals (ti2.VoiceInfo.Culture); } /// TODOC public override int GetHashCode () { return VoiceInfo.Name.GetHashCode (); } #endregion Events //******************************************************************* // // Internal Methods // //******************************************************************** #region Internal Methods internal static InstalledVoice Find (Listlist, VoiceInfo voiceId) { foreach (InstalledVoice ti in list) { if (ti.Enabled && ti.VoiceInfo.Equals (voiceId)) { return ti; } } return null; } internal static InstalledVoice FirstEnabled (List list, CultureInfo culture) { InstalledVoice voiceFirst = null; foreach (InstalledVoice ti in list) { if (ti.Enabled) { if (Helpers.CompareInvariantCulture (ti.VoiceInfo.Culture, culture)) { return ti; } if (voiceFirst == null) { voiceFirst = ti; } } } return voiceFirst; } internal void SetEnabledFlag (bool value, bool switchContext) { try { if (_enabled != value) { _enabled = value; if (_enabled == false) { // reset the default voice if necessary if (_voice.Equals (_voiceSynthesizer.CurrentVoice (switchContext).VoiceInfo)) { _voiceSynthesizer.Voice = null; } } else { // reset the default voice if necessary. This new voice could be the default _voiceSynthesizer.Voice = null; } } } // If no voice can be set, ignore the error catch (InvalidOperationException) { // reset to the default voice. _voiceSynthesizer.Voice = null; } } #endregion //******************************************************************* // // Private Fields // //******************************************************************* #region Private Fields private VoiceInfo _voice; private bool _enabled; #pragma warning disable 6524 // The voice synthesizer cannot be disposed when this object is deleted. private VoiceSynthesis _voiceSynthesizer; #pragma warning restore 6524 #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XPathSelectionIterator.cs
- SignatureDescription.cs
- ApplicationSecurityManager.cs
- FrameworkElementAutomationPeer.cs
- FrameworkContextData.cs
- MouseActionValueSerializer.cs
- LogWriteRestartAreaState.cs
- FormViewInsertedEventArgs.cs
- GradientBrush.cs
- RowUpdatingEventArgs.cs
- CqlParserHelpers.cs
- ScriptManagerProxy.cs
- NotFiniteNumberException.cs
- DefaultMergeHelper.cs
- RowUpdatedEventArgs.cs
- FixedElement.cs
- ThreadPool.cs
- listitem.cs
- XmlRawWriter.cs
- WrapperEqualityComparer.cs
- Grant.cs
- ComplexTypeEmitter.cs
- AssemblyNameProxy.cs
- EncoderReplacementFallback.cs
- Int32Storage.cs
- PersonalizationProviderHelper.cs
- panel.cs
- IsolatedStorageFileStream.cs
- DesignerVerbToolStripMenuItem.cs
- NotificationContext.cs
- EDesignUtil.cs
- TypeConverter.cs
- NullableDecimalMinMaxAggregationOperator.cs
- EnumBuilder.cs
- WebPartCatalogCloseVerb.cs
- ControlCollection.cs
- TransformPattern.cs
- AnnotationStore.cs
- PixelFormatConverter.cs
- ISAPIApplicationHost.cs
- SoapMessage.cs
- HttpPostedFileBase.cs
- ToolTipAutomationPeer.cs
- AdapterUtil.cs
- Literal.cs
- DeadLetterQueue.cs
- WhitespaceRule.cs
- Propagator.cs
- PointKeyFrameCollection.cs
- SortDescription.cs
- CodeTypeReference.cs
- MediaEntryAttribute.cs
- ExtensibleClassFactory.cs
- CheckPair.cs
- TokenBasedSet.cs
- QueueProcessor.cs
- CacheAxisQuery.cs
- RouteValueDictionary.cs
- WorkflowApplicationTerminatedException.cs
- ScriptServiceAttribute.cs
- UpdateException.cs
- Page.cs
- SQLDecimal.cs
- DocumentViewerHelper.cs
- TreeNodeBindingCollection.cs
- ClockController.cs
- XmlDomTextWriter.cs
- CrossAppDomainChannel.cs
- XmlCharCheckingReader.cs
- COM2PictureConverter.cs
- RowType.cs
- StickyNoteContentControl.cs
- SQLInt32.cs
- ListViewGroupConverter.cs
- DocumentApplicationJournalEntryEventArgs.cs
- DomainConstraint.cs
- RepeaterItemEventArgs.cs
- MatrixAnimationBase.cs
- EmitterCache.cs
- Empty.cs
- SetterBase.cs
- localization.cs
- ButtonAutomationPeer.cs
- ObservableCollection.cs
- ListSourceHelper.cs
- XmlDomTextWriter.cs
- StrokeDescriptor.cs
- SecureUICommand.cs
- util.cs
- DataRelationCollection.cs
- MultipleFilterMatchesException.cs
- BackEase.cs
- exports.cs
- Oci.cs
- FreeFormDesigner.cs
- TemplateKey.cs
- printdlgexmarshaler.cs
- SymmetricKey.cs
- System.Data_BID.cs
- DesignerCategoryAttribute.cs