Share via


TtsEngineSsml.RemoveLexicon(Uri, ITtsEngineSite) 方法

定義

將目前 TtsEngineSsml 執行個體所實作的 SynthesizerVoice 目前載入的語彙移除。

public:
 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
Public MustOverride Sub RemoveLexicon (uri As Uri, site As ITtsEngineSite)

參數

uri
Uri

System.Uri的有效執行個體,指出詞典資訊的位置。

site
ITtsEngineSite

由平台基礎結構傳入ITtsEngineSite介面參考,以允許存取基礎結構資源。

範例

的執行會 RemoveLexicon 使用詞典 URI 來查詢 System.Collections.Generic.Dictionary 的實例 System.IO.Stream 、關閉資料流程並移除參考字典的 URI。

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)) {  
         stream.Close();  
         _aLexicons.Remove(uri);  
     }  
}  

備註

發音詞典是單字或片語的集合,以及使用適當發音字母指定的發音。

通常會呼叫這個方法來回應呼叫的 System.Speech.Synthesis 應用程式 RemoveLexicon ,並使用由目前實例所執行的合成器語音 TtsEngineSsml

給實施者的注意事項

這是完全熟悉的實作責任,而且能夠處理儲存在的字典 uri 。 其實作也必須追蹤和管理所移除的所有字典的存留期。

適用於