TtsEngineSsml.AddLexicon(Uri, String, ITtsEngineSite) 方法

定义

添加词典到当前 TtsEngineSsml 实例实现的 SynthesizerVoice

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 。 实现还必须跟踪和管理它所添加的所有字典的生存期。

适用于