TtsEngineSsml.AddLexicon(Uri, String, ITtsEngineSite) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
添加词典到当前 TtsEngineSsml 实例实现的 Synthesizer
Voice
。
public:
abstract void AddLexicon(Uri ^ uri, System::String ^ mediaType, System::Speech::Synthesis::TtsEngine::ITtsEngineSite ^ site);
public abstract void AddLexicon (Uri uri, string mediaType, System.Speech.Synthesis.TtsEngine.ITtsEngineSite site);
abstract member AddLexicon : Uri * string * System.Speech.Synthesis.TtsEngine.ITtsEngineSite -> unit
Public MustOverride Sub AddLexicon (uri As Uri, mediaType As String, site As ITtsEngineSite)
参数
- uri
- Uri
指示词典信息位置的 System.Uri
的有效实例。
- mediaType
- String
一个包含该词典的媒体类型的字符串。 媒体类型要区分大小写。
- site
- ITtsEngineSite
对用于与平台基础结构进行交互的 ITtsEngineSite 接口的引。
示例
的实现 AddLexicon 使用传入的 ITtsEngineSite 接口从资源加载词典。 然后,它将存储 System.IO.Stream
到实例中的 System.Collections.Generic.Dictionary
字典,并按词典 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 调用 AddLexicon 并使用由当前实例实现的合成器声音的基于的应用程序 TtsEngineSsml 。
的值 mediaType
通常是 MIME 规范,因为 SSML 规范使用 mime 进行媒体规范。
实施者说明
完全熟悉实现的责任,并且能够处理存储在中的字典 uri
。 实现还必须跟踪和管理它所添加的所有字典的生存期。