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
。 其實作也必須追蹤和管理它所新增之所有字典的存留期。