SpeechSynthesizer.AddLexicon(Uri, String) 方法

定义

SpeechSynthesizer 添加到该对象的词典中。

public:
 void AddLexicon(Uri ^ uri, System::String ^ mediaType);
public void AddLexicon (Uri uri, string mediaType);
member this.AddLexicon : Uri * string -> unit
Public Sub AddLexicon (uri As Uri, mediaType As String)

参数

uri
Uri

词典信息的位置。

mediaType
String

词典的媒体类型。 媒体类型值不区分大小写。

示例

以下示例演示添加和删除包含单词“blue”的自定义发音的词典的效果。 词典将“blue”的发音定义为“bleep”。 加载词典时,语音合成器使用词典中定义的发音。

using System;
using System.Speech.Synthesis;

namespace SampleSynthesis
{
  class Program
  {
    static void Main(string[] args)
    {

      // Initialize a new instance of the SpeechSynthesizer.
      using (SpeechSynthesizer synth = new SpeechSynthesizer())
      {

        // Configure the audio output.
        synth.SetOutputToDefaultAudioDevice();

        // Speak the prompt.
        synth.Speak("My favorite color is blue.");

        // Add a lexicon that changes the pronunciation of "blue".
        synth.AddLexicon(new Uri("C:\\test\\Blue.pls"), "application/pls+xml");

        // Speak the prompt.
        synth.Speak("My favorite color is blue.");

        // Remove the lexicon.
        synth.RemoveLexicon(new Uri("C:\\test\\Blue.pls"));

        // Speak the prompt.
        synth.Speak("My favorite color is blue.");
      }

      Console.WriteLine();
      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }
  }
}

下面是词典文件 Blue.pls 的内容:

<?xml version="1.0" encoding="UTF-8"?>

<lexicon version="1.0"
      xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
      alphabet="x-microsoft-ups" xml:lang="en-US">

  <lexeme>
    <grapheme> blue </grapheme>
    <phoneme> B L I P </phoneme>
  </lexeme>

</lexicon>

注解

发音词典是单词或短语及其发音的集合,由受支持的音标中的字母和字符组成。 可以使用词典为应用程序中的专用词汇指定自定义发音。

外部词典文件中指定的发音优先于语音合成器的内部词典或词典的发音。 但是,在使用任何 AppendTextWithPronunciationAppendSsmlMarkupAppendSsml 方法创建的提示中内联指定的发音优先于任何词典中指定的发音。 内联发音仅适用于单词的单个匹配项。 有关详细信息 ,请参阅词典和拼音字母 表。

可以将多个词典添加到 对象 SpeechSynthesizer 。 参数当前支持 mediaType 两个值:

  • application/pls+xml 指示词典符合 发音词典规范 (PLS) 版本 1.0。 这是要使用的首选格式。

  • application/vdn.ms-sapi-lex 指示词典格式为 Uncompressed Lexicon,这是 Microsoft 专有格式。 这是一种旧格式,建议使用上述 PLS 格式。

适用于

另请参阅