TtsEngineSsml.RemoveLexicon(Uri, ITtsEngineSite) TtsEngineSsml.RemoveLexicon(Uri, ITtsEngineSite) TtsEngineSsml.RemoveLexicon(Uri, ITtsEngineSite) Method


Removes a lexicon currently loaded by the SynthesizerVoice implemented by the current TtsEngineSsml instance.

 abstract void RemoveLexicon(Uri ^ uri, System::Speech::Synthesis::TtsEngine::ITtsEngineSite ^ site);
public abstract void RemoveLexicon (Uri uri, System.Speech.Synthesis.TtsEngine.ITtsEngineSite site);
abstract member RemoveLexicon : Uri * System.Speech.Synthesis.TtsEngine.ITtsEngineSite -> unit


Uri Uri Uri

A valid instance of System.Uri indicating the location of the lexicon information.

ITtsEngineSite ITtsEngineSite ITtsEngineSite

A reference to an ITtsEngineSite interface passed in by the platform infrastructure to allow access to the infrastructure resources.


The implementation of RemoveLexicon uses the lexicon URI to query an instance System.Collections.Generic.Dictionary for the System.IO.Stream, closes the stream and removes the uri referring to the lexicon.

public static Dictionary<Uri, Stream> _aLexicons = new Dictionary<Uri, Stream>();  
 public void AddLexicon(Uri uri, string mediaType, ITtsEngineSite site) {  
    Stream stream = site.LoadResource(uri, mediaType);  
    _aLexicons.Add(uri, stream);  
 public void RemoveLexicon(Uri uri, ITtsEngineSite site) {  
     Stream stream;  
     if (_aLexicons.TryGetValue(uri, out stream)) {  


A pronunciation lexicon is a collection of words or phrases together with their pronunciations specified using an appropriate pronunciation alphabet.

This method is typically called in response to a System.Speech.Synthesis based applications calling RemoveLexicon and using the synthesizer voice implemented by the current TtsEngineSsml instance.

Notes to Inheritors

It is the responsibility of the implementation to be fully familiar with and be able to process the lexicon stored at uri. The implementation must also keep track and manage the lifetimes of all lexicons it removes.

Applies to