Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Synthesis / VoiceInfo.cs / 1 / VoiceInfo.cs
//------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------- using System; using System.Collections.ObjectModel; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.Speech.AudioFormat; using System.Speech.Internal; using System.Speech.Internal.Synthesis; using System.Speech.Internal.ObjectTokens; using System.Xml; #pragma warning disable 1634, 1691 // Allows suppression of certain PreSharp messages. namespace System.Speech.Synthesis { ////// TODOC /// [DebuggerDisplay ("{(_name != null ? \"'\" + _name + \"' \" : \"\") + (_culture != null ? \" '\" + _culture.ToString () + \"' \" : \"\") + (_gender != VoiceGender.NotSet ? \" '\" + _gender.ToString () + \"' \" : \"\") + (_age != VoiceAge.NotSet ? \" '\" + _age.ToString () + \"' \" : \"\") + (_variant > 0 ? \" \" + _variant.ToString () : \"\")}")] [Serializable] public class VoiceInfo { //******************************************************************* // // Constructors // //******************************************************************* #region Constructors ////// TODOC /// /// internal VoiceInfo (string name) { Helpers.ThrowIfEmptyOrNull (name, "name"); _name = name; } ////// TODOC /// /// internal VoiceInfo (CultureInfo culture) { // Fails if no culture is provided Helpers.ThrowIfNull (culture, "culture"); if (culture.Equals (CultureInfo.InvariantCulture)) { throw new ArgumentException (SR.Get (SRID.InvariantCultureInfo), "culture"); } _culture = culture; } internal VoiceInfo (VoiceObjectToken token) { _registryKeyPath = token._sKeyId; // Retriece the token name _id = token.Name; // Retrieve default display name _description = token.Description; // Get other attributes _name = token.TokenName (); SsmlParserHelpers.TryConvertAge (token.Age.ToLowerInvariant (), out _age); SsmlParserHelpers.TryConvertGender (token.Gender.ToLowerInvariant (), out _gender); string langId; if (token.Attributes.TryGetString ("Language", out langId)) { _culture = SapiAttributeParser.GetCultureInfoFromLanguageString (langId); } string assemblyName; if (token.TryGetString ("Assembly", out assemblyName)) { _assemblyName = assemblyName; } string clsid; if (token.TryGetString ("CLSID", out clsid)) { _clsid = clsid; } if (token.Attributes != null) { // Enum all values and add to custom table foreach (string keyName in token.Attributes.GetValueNames ()) { string attributeValue; if (token.Attributes.TryGetString (keyName, out attributeValue)) { _attributes.InternalDictionary.Add (keyName, attributeValue); } } } #if !SPEECHSERVER string audioFormats; if (token.Attributes != null && token.Attributes.TryGetString ("AudioFormats", out audioFormats)) { _audioFormats = new ReadOnlyCollection(SapiAttributeParser.GetAudioFormatsFromString (audioFormats)); } else { _audioFormats = new ReadOnlyCollection (new List ()); } #else _category = token.VoiceCategory; #endif } /// /// TODOC /// /// internal VoiceInfo (VoiceGender gender) { _gender = gender; } ////// TODOC /// /// /// internal VoiceInfo (VoiceGender gender, VoiceAge age) { _gender = gender; _age = age; } ////// TODOC /// /// /// /// internal VoiceInfo (VoiceGender gender, VoiceAge age, int voiceAlternate) { if (voiceAlternate < 0) { throw new ArgumentOutOfRangeException ("voiceAlternate", SR.Get (SRID.PromptBuilderInvalidVariant)); } _gender = gender; _age = age; _variant = voiceAlternate + 1; } #if SPEECHSERVER ////// TODOC /// /// /// /// /// internal VoiceInfo (CultureInfo culture, VoiceGender gender, string name, VoiceAge age) : this (culture) { _name = name; _gender = gender; _age = age; } #endif #endregion //******************************************************************** // // Public Methods // //******************************************************************* #region public Methods ////// Tests whether two AutomationIdentifier objects are equivalent /// public override bool Equals (object obj) { // PreSharp doesn't understand that if obj is null then this will return false. #pragma warning disable 6506 VoiceInfo voice = obj as VoiceInfo; return voice != null && _name == voice._name && (_age == voice._age || _age == VoiceAge.NotSet || voice._age == VoiceAge.NotSet) && (_gender == voice._gender || _gender == VoiceGender.NotSet || voice._gender == VoiceGender.NotSet) && (_culture == null || voice._culture == null || _culture.Equals (voice._culture)); #pragma warning restore 6506 } ////// Overrides Object.GetHashCode() /// public override int GetHashCode () { return _name.GetHashCode (); } #endregion //******************************************************************** // // Public Properties // //******************************************************************** #region public Properties ////// TODOC /// ///public VoiceGender Gender { get { return _gender; } } /// /// TODOC /// ///public VoiceAge Age { get { return _age; } } /// /// TODOC /// ///public string Name { get { return _name; } } /// /// TODOC /// /// Return a copy of the internal Language set. This disable client /// applications to modify the internal languages list. /// ///public CultureInfo Culture { get { return _culture; } } /// /// TODOC /// ///public string Id { get { return _id; } } /// /// TODOC /// ///public string Description { get { return _description != null ? _description : string.Empty; } } #if !SPEECHSERVER /// /// TODOC /// ///[EditorBrowsable (EditorBrowsableState.Advanced)] public ReadOnlyCollection SupportedAudioFormats { get { return _audioFormats; } } #endif /// /// TODOC /// ///[EditorBrowsable (EditorBrowsableState.Advanced)] public IDictionary AdditionalInfo { get { return _attributes; } } #endregion //******************************************************************* // // Internal Methods // //******************************************************************** #region Internal Methods internal static bool ValidateGender (VoiceGender gender) { return gender == VoiceGender.Female || gender == VoiceGender.Male || gender == VoiceGender.Neutral || gender == VoiceGender.NotSet; } internal static bool ValidateAge (VoiceAge age) { return age == VoiceAge.Adult || age == VoiceAge.Child || age == VoiceAge.NotSet || age == VoiceAge.Senior || age == VoiceAge.Teen; } #endregion //******************************************************************* // // Internal Property // //******************************************************************* #region Internal Property /// /// TODOC /// ///internal int Variant { get { return _variant; } } /// /// TODOC /// ///internal string AssemblyName { get { return _assemblyName; } } /// /// TODOC /// ///internal string Clsid { get { return _clsid; } } /// /// TODOC /// ///internal string RegistryKeyPath { get { return _registryKeyPath; } } #if SPEECHSERVER internal VoiceCategory VoiceCategory { get { return _category; } } #endif #endregion //******************************************************************* // // Private Fields // //******************************************************************** #region Private Fields private string _name; private CultureInfo _culture; private VoiceGender _gender = VoiceGender.NotSet; private VoiceAge _age; private int _variant = -1; [NonSerialized] private string _id; [NonSerialized] private string _registryKeyPath; [NonSerialized] private string _assemblyName; [NonSerialized] private string _clsid; [NonSerialized] private string _description; [NonSerialized] private ReadOnlyDictionary _attributes = new ReadOnlyDictionary (); #if !SPEECHSERVER [NonSerialized] private ReadOnlyCollection _audioFormats; #else VoiceCategory _category; #endif #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
- JoinCqlBlock.cs
- UiaCoreProviderApi.cs
- DataReceivedEventArgs.cs
- DataTableReader.cs
- CounterSet.cs
- CircleHotSpot.cs
- ObjectTokenCategory.cs
- DefaultPrintController.cs
- WebPartAuthorizationEventArgs.cs
- UnrecognizedPolicyAssertionElement.cs
- XPathAncestorIterator.cs
- ScriptDescriptor.cs
- CallbackValidatorAttribute.cs
- SamlSubjectStatement.cs
- CorrelationExtension.cs
- ReceiveContext.cs
- TraceAsyncResult.cs
- ByteArrayHelperWithString.cs
- Translator.cs
- KeyEventArgs.cs
- WpfPayload.cs
- ConfigXmlCDataSection.cs
- MediaCommands.cs
- DataSourceHelper.cs
- XhtmlBasicTextViewAdapter.cs
- LockCookie.cs
- PipelineModuleStepContainer.cs
- Exceptions.cs
- _ProxyRegBlob.cs
- CompositeCollection.cs
- ServiceAuthorizationManager.cs
- FileInfo.cs
- CLSCompliantAttribute.cs
- XsltArgumentList.cs
- StreamUpgradeBindingElement.cs
- ResourceContainer.cs
- DataGridViewCellLinkedList.cs
- ScriptRef.cs
- FontResourceCache.cs
- ReadOnlyDataSourceView.cs
- GraphicsPath.cs
- PointLight.cs
- SiteMapNodeItemEventArgs.cs
- DataServiceProcessingPipelineEventArgs.cs
- FileSecurity.cs
- BCLDebug.cs
- DesignerWebPartChrome.cs
- Table.cs
- TraceSwitch.cs
- MasterPage.cs
- TemplateNodeContextMenu.cs
- StateMachineDesignerPaint.cs
- AnonymousIdentificationModule.cs
- BamlLocalizationDictionary.cs
- XmlHierarchicalEnumerable.cs
- PropertyIDSet.cs
- LiteralTextContainerControlBuilder.cs
- XmlSchemaSequence.cs
- WebServiceHandler.cs
- XamlPoint3DCollectionSerializer.cs
- CommandHelper.cs
- TrackingStringDictionary.cs
- XmlSchemaAnyAttribute.cs
- HttpHeaderCollection.cs
- StateWorkerRequest.cs
- TrackingAnnotationCollection.cs
- columnmapkeybuilder.cs
- OrderedParallelQuery.cs
- ContextBase.cs
- SponsorHelper.cs
- Stylesheet.cs
- Hash.cs
- Configuration.cs
- EntityDataSourceDesigner.cs
- JsonFormatReaderGenerator.cs
- GeneratedCodeAttribute.cs
- LostFocusEventManager.cs
- EncryptedXml.cs
- MulticastOption.cs
- SettingsProviderCollection.cs
- CollectionChangedEventManager.cs
- Soap12ServerProtocol.cs
- SchemaMapping.cs
- GridEntryCollection.cs
- BrowsableAttribute.cs
- KeyMatchBuilder.cs
- AlgoModule.cs
- DataTablePropertyDescriptor.cs
- TextEndOfLine.cs
- DataGridViewLinkColumn.cs
- ErrorProvider.cs
- SecureEnvironment.cs
- CapabilitiesUse.cs
- SessionParameter.cs
- SoapException.cs
- DrawingBrush.cs
- WebPartRestoreVerb.cs
- DataGridViewButtonColumn.cs
- AlternateView.cs
- TextBoxBase.cs