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调用 和使用由当前TtsEngineSsml实例实现的合成器语音的基于应用程序RemoveLexicon。
实施者说明
实现的责任是完全熟悉并能够处理存储在 中的 uri
词典。 实现还必须跟踪和管理它删除的所有词典的生存期。