TtsEngineSsml.AddLexicon(Uri, String, ITtsEngineSite) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 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 입니다.
예제
전달된 인터페이스를 ITtsEngineSite 사용하여 리소스에서 어휘집을 로드하는 구현 AddLexicon 입니다. 그런 다음 어휘집 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 사양입니다.
Important
신뢰할 수 없는 데이터를 사용하여 이 클래스에서 메서드를 호출하는 것은 보안 위험입니다. 신뢰할 수 있는 데이터로만 이 클래스의 메서드를 호출합니다. 자세한 내용은 모든 입력 유효성 검사참조하세요.
구현자 참고
에 저장된 uri어휘를 완전히 숙지하고 처리할 수 있는 것은 구현의 책임입니다. 또한 구현은 추가되는 모든 어휘의 수명을 추적하고 관리해야 합니다.