次の方法で共有


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 使用して、リソースから辞書を読み込みます。 次に、辞書 URI によってインデックス付けされた、 をインスタンス内System.Collections.Generic.Dictionaryの辞書に格納System.IO.Streamします。

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);  
     }  
}  

注釈

発音辞書は、適切な発音アルファベットを使用して指定された発音と共に単語またはフレーズのコレクションです。

このメソッドは、通常、現在TtsEngineSsmlのインスタンスによって実装されたシンセサイザー音声を呼び出して使用するベースのアプリケーションにSystem.Speech.Synthesis応答して、プラットフォーム インフラストラクチャによって呼び出AddLexiconされます。

SSML 仕様ではメディア仕様に MIME が使用されるため、 の mediaType 値は通常、MIME 仕様です。

注意 (実装者)

に格納されている uri辞書を完全に理解し、処理できるようにするのは実装の責任です。 実装では、追加するすべての辞書の有効期間も追跡および管理する必要があります。

適用対象