TtsEngineSsml.RemoveLexicon(Uri, ITtsEngineSite) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將目前 TtsEngineSsml 執行個體所實作的 Synthesizer
Voice
目前載入的語彙移除。
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
。 其實作也必須追蹤和管理所移除的所有字典的存留期。