PromptBuilder.AppendTextWithPronunciation(String, String) 方法

定义

将文本追加到 PromptBuilder 对象,并为该文本指定发音。

public:
 void AppendTextWithPronunciation(System::String ^ textToSpeak, System::String ^ pronunciation);
public void AppendTextWithPronunciation (string textToSpeak, string pronunciation);
member this.AppendTextWithPronunciation : string * string -> unit
Public Sub AppendTextWithPronunciation (textToSpeak As String, pronunciation As String)

参数

textToSpeak
String

包含使用语言传统字母表写入形式的单词的字符串。

pronunciation
String

包含要以国际音标 (IPA) 进行朗读的电话的字符串。

示例

以下示例初始化 类的新实例 PromptBuilder 。 然后,它将文本字符串“我的名字是”追加到实例。 最后,它追加一个包含正确名称“DuBois”的字符串,并指定名称的发音。

public void ProperName()  
{  
    PromptBuilder builder = new PromptBuilder();  
    builder.AppendText("My name is");  

    // Add a proper name and its pronunciation.  
    builder.AppendTextWithPronunciation("DuBois", "duˈbwɑ");     
}  

以下标记显示此 PromptBuilder 对象生成的 SSML。

<speak xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-us">  
  My name is <phoneme ph="duˈbwɑ"> DuBois </phoneme>  
</speak>  

注解

合成器说出参数的内容 pronunciation ,而不是参数的内容 textToSpeak

在提示中内联指定的发音仅适用于单词的单个匹配项,并覆盖语音引擎或其任何当前活动词典的发音。 通常,你将对现有字词的自定义发音或不常见的单词的发音(如正确名称)使用内联发音,语音合成引擎可能无法像预期的那样发音。

必须使用国际音标 (IPA) 中的电话指定内联发音。 电话是表示谨慎语音声音的字母或字符。 符合 语音合成标记语言 (SSML) 1.0 版 规范的语音引擎将从 IPA 对电话进行发音。 若要使用其他拼音字母指定内联发音,请参阅 AppendSsmlMarkup

IPA 发布一个图表,该 图表 列出其电话并将其映射到 Unicode 号码。

IPA 字母表中的某些电话与拉丁字母中的字母具有相同的表示形式。 在这些情况下,可以键入拉丁字符,并为手机提供适当的表示形式。 由于文本中常用的拉丁语字符可能表示 IPA 电话集的多个电话,因此只需键入拉丁语字符就不会产生所需的精确 IPA 电话。 IPA 字母表的其他电话需要在代码中表示为字符引用,这些引用由和号 (&) 、数字符号 (#) 和所需电话的 Unicode 号码(以十六进制或十进制表示),后跟分号 (;) 。 例如,schwa (ə) 将由 表示 &#x0259;

若要为多个字词添加新的或自定义的发音,例如表达区域方言或添加特定于教育或医学学科的适当名称或词汇,请构建词典,并使用 将其添加到 。SpeechSynthesizerAddLexicon

适用于

另请参阅