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
- DomainUpDown.cs
- TextProviderWrapper.cs
- SafeSecurityHelper.cs
- ObjectQueryState.cs
- ZeroOpNode.cs
- RewritingSimplifier.cs
- Int16Animation.cs
- HtmlHistory.cs
- MenuItem.cs
- ColumnTypeConverter.cs
- FileRecordSequenceCompletedAsyncResult.cs
- ParamArrayAttribute.cs
- XmlValidatingReader.cs
- AnchorEditor.cs
- CookieParameter.cs
- XomlCompilerResults.cs
- QilChoice.cs
- HttpBindingExtension.cs
- NamedPipeTransportBindingElement.cs
- DbDataSourceEnumerator.cs
- EventLogEntry.cs
- QueryStringParameter.cs
- InputLangChangeRequestEvent.cs
- ProcessModelInfo.cs
- DefaultTextStore.cs
- ImageDesigner.cs
- MailDefinition.cs
- ErrorView.xaml.cs
- figurelengthconverter.cs
- Page.cs
- BoolExpr.cs
- DesignerWebPartChrome.cs
- TabControlCancelEvent.cs
- _ListenerAsyncResult.cs
- WebPartsSection.cs
- AnonymousIdentificationModule.cs
- BrowserDefinitionCollection.cs
- VariantWrapper.cs
- FillErrorEventArgs.cs
- Geometry.cs
- SettingsSection.cs
- DispatcherFrame.cs
- BuildProviderUtils.cs
- InterleavedZipPartStream.cs
- WebPartDescriptionCollection.cs
- LowerCaseStringConverter.cs
- _SSPISessionCache.cs
- Point3DCollection.cs
- clipboard.cs
- FindCompletedEventArgs.cs
- EdmItemCollection.cs
- RuntimeConfigLKG.cs
- FixedSOMImage.cs
- XmlStreamStore.cs
- FileStream.cs
- ToolStripOverflow.cs
- AudienceUriMode.cs
- GridItemPattern.cs
- SizeAnimationClockResource.cs
- LinkedDataMemberFieldEditor.cs
- AttributeEmitter.cs
- DataList.cs
- ItemsChangedEventArgs.cs
- IsolationInterop.cs
- NameTable.cs
- AssertSection.cs
- WindowsFont.cs
- ScriptReferenceBase.cs
- ListBox.cs
- ObjectView.cs
- SecurityManager.cs
- MouseGestureValueSerializer.cs
- SortQuery.cs
- DesignerLinkAdapter.cs
- SplayTreeNode.cs
- DataStorage.cs
- Message.cs
- DataSourceBooleanViewSchemaConverter.cs
- safemediahandle.cs
- UIElementCollection.cs
- HttpValueCollection.cs
- XPathAncestorQuery.cs
- XmlNavigatorStack.cs
- DispatcherObject.cs
- SortableBindingList.cs
- SynchronizationLockException.cs
- URIFormatException.cs
- WorkflowRuntimeSection.cs
- AssertSection.cs
- ConnectionProviderAttribute.cs
- WebPartConnection.cs
- TransactionState.cs
- ProtocolInformationReader.cs
- ProfileSettingsCollection.cs
- ServiceTimeoutsBehavior.cs
- AssociationSet.cs
- SchemaCollectionCompiler.cs
- MappingModelBuildProvider.cs
- Missing.cs
- AndCondition.cs