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 (List list, 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
- BamlTreeMap.cs
- PersonalizationStateInfoCollection.cs
- WebServicesDescriptionAttribute.cs
- TypeValidationEventArgs.cs
- SoapCodeExporter.cs
- CardSpaceException.cs
- HttpPostedFile.cs
- TagPrefixCollection.cs
- GatewayDefinition.cs
- DataTableMapping.cs
- ToolboxDataAttribute.cs
- EntityKey.cs
- LicenseProviderAttribute.cs
- ComUdtElementCollection.cs
- MulticastDelegate.cs
- PageStatePersister.cs
- ImageUrlEditor.cs
- FixUpCollection.cs
- AutoGeneratedField.cs
- BaseCAMarshaler.cs
- HtmlCalendarAdapter.cs
- ControlParameter.cs
- SqlDataSourceCache.cs
- TransformerTypeCollection.cs
- RtType.cs
- PriorityQueue.cs
- ColorTransformHelper.cs
- MenuTracker.cs
- TextRange.cs
- TrackingStringDictionary.cs
- latinshape.cs
- OdbcRowUpdatingEvent.cs
- TextServicesManager.cs
- DataTablePropertyDescriptor.cs
- BaseTemplateBuildProvider.cs
- SchemaCollectionPreprocessor.cs
- ListViewGroupItemCollection.cs
- SvcMapFileLoader.cs
- AsyncDataRequest.cs
- AdRotatorDesigner.cs
- SafeArrayRankMismatchException.cs
- WinFormsUtils.cs
- WindowsListViewGroupHelper.cs
- Subset.cs
- ClosureBinding.cs
- _emptywebproxy.cs
- SerialReceived.cs
- MsmqQueue.cs
- BroadcastEventHelper.cs
- ClientSponsor.cs
- ListComponentEditorPage.cs
- ClientScriptManager.cs
- EdgeModeValidation.cs
- ResourcePart.cs
- DataSetFieldSchema.cs
- ValueConversionAttribute.cs
- X509SecurityTokenProvider.cs
- ColumnMapProcessor.cs
- SafeFindHandle.cs
- ImageListStreamer.cs
- Int64AnimationBase.cs
- SqlHelper.cs
- GridViewColumnCollection.cs
- TimelineGroup.cs
- ScopelessEnumAttribute.cs
- SqlDataSourceCommandEventArgs.cs
- WindowsTokenRoleProvider.cs
- FlowDocumentReader.cs
- NameValueCollection.cs
- XmlDataFileEditor.cs
- CompoundFileReference.cs
- FontSource.cs
- StandardCommands.cs
- ConfigurationPropertyCollection.cs
- HttpStreamFormatter.cs
- ListItemParagraph.cs
- SmtpNtlmAuthenticationModule.cs
- DocumentationServerProtocol.cs
- WebEvents.cs
- InstanceDataCollectionCollection.cs
- FrameworkElementFactory.cs
- ScriptReference.cs
- GeneratedContractType.cs
- Help.cs
- MSAAEventDispatcher.cs
- CompiledXpathExpr.cs
- EntitySetDataBindingList.cs
- BaseParser.cs
- ThicknessAnimationBase.cs
- KeyValueConfigurationElement.cs
- CommonRemoteMemoryBlock.cs
- PasswordDeriveBytes.cs
- Intellisense.cs
- Vars.cs
- controlskin.cs
- CqlParserHelpers.cs
- WsdlWriter.cs
- MemoryFailPoint.cs
- StackSpiller.cs
- ReliabilityContractAttribute.cs