TtsEngineSsml.RemoveLexicon(Uri, ITtsEngineSite) メソッド

定義

現在のSynthesizer インスタンスによって実装されているVoiceTtsEngineSsmlによって現在読み込まれている辞書を削除します。

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を呼び出し、現在のRemoveLexicon インスタンスによって実装されたシンセサイザー音声を使用するTtsEngineSsml ベースのアプリケーションに応答して呼び出されます。

Important

信頼されていないデータを使用してこのクラスからメソッドを呼び出すことは、セキュリティ上のリスクです。 このクラスのメソッドは、信頼できるデータでのみ呼び出します。 詳細については、「すべての入力を検証する」を参照してください。

注意 (実装者)

実装の役割は、 uriに格納されている辞書を完全に理解し、処理できることです。 実装では、削除するすべての辞書の有効期間を追跡して管理する必要もあります。

適用対象