PromptBuilder.AppendSsml 方法

定义

将一个 SSML 文件追加到 PromptBuilder 对象。

重载

AppendSsml(String)

将指定路径中的 SSML 文件追加到 PromptBuilder 对象。

AppendSsml(Uri)

将指定 URL 中的 SSML 文件追加到 PromptBuilder 对象。

AppendSsml(XmlReader)

追加一个 XMLReader 对象,该对象引用 PromptBuilder 对象的 SSML 提示。

AppendSsml(String)

将指定路径中的 SSML 文件追加到 PromptBuilder 对象。

public:
 void AppendSsml(System::String ^ path);
public void AppendSsml (string path);
member this.AppendSsml : string -> unit
Public Sub AppendSsml (path As String)

参数

path
String

要追加的 SSML 文件的完全限定路径。

示例

下面的示例创建一个 PromptBuilder 对象,并使用方法追加 SSML 文件的内容 AppendSsml

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

        // Create a PromptBuilder object and append a file that defines an SSML prompt.  
        PromptBuilder ssmlFile = new PromptBuilder();  
        ssmlFile.AppendSsml("c:\\test\\Weather.ssml");  

        // Speak the contents of the SSML prompt.  
        synth.Speak(ssmlFile);  
      }  

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

下面是前面的示例所引用的 SSML 文件。

<?xml version="1.0" encoding="ISO-8859-1"?>  
<speak version="1.0"  
 xmlns="http://www.w3.org/2001/10/synthesis"  
 xml:lang="en-US">  

  <s> The weather forecast for today is partly cloudy with some sun breaks. </s>  

</speak>  

注解

SSML 文件必须是符合 语音合成标记语言 (ssml) 版本 1.0 规范的 XML 格式文件。

你还可以使用将 SSML 标记附加为字符串 AppendSsmlMarkup

适用于

AppendSsml(Uri)

将指定 URL 中的 SSML 文件追加到 PromptBuilder 对象。

public:
 void AppendSsml(Uri ^ ssmlFile);
public void AppendSsml (Uri ssmlFile);
member this.AppendSsml : Uri -> unit
Public Sub AppendSsml (ssmlFile As Uri)

参数

ssmlFile
Uri

要追加的 SSML 文件的完全限定 URI。

示例

下面的示例创建一个 PromptBuilder 对象,并使用方法追加 SSML 文件的内容 AppendSsml

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

        // Create a PromptBuilder object and append a file that defines an SSML prompt.  
        PromptBuilder ssmlFile = new PromptBuilder();  
        ssmlFile.AppendSsml(new Uri("c:\\test\\Weather.ssml"));  

        // Speak the contents of the SSML prompt.  
        synth.Speak(ssmlFile);  
      }  

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

下面是前面的示例所引用的 SSML 文件。

<?xml version="1.0" encoding="ISO-8859-1"?>  
<speak version="1.0"  
 xmlns="http://www.w3.org/2001/10/synthesis"  
 xml:lang="en-US">  

  <s> The weather forecast for today is partly cloudy with some sun breaks. </s>  

</speak>  

注解

SSML 文件必须是符合 语音合成标记语言 (ssml) 版本 1.0 规范的 XML 格式文件。

你还可以使用将 SSML 标记附加为字符串 AppendSsmlMarkup

适用于

AppendSsml(XmlReader)

追加一个 XMLReader 对象,该对象引用 PromptBuilder 对象的 SSML 提示。

public:
 void AppendSsml(System::Xml::XmlReader ^ ssmlFile);
public void AppendSsml (System.Xml.XmlReader ssmlFile);
member this.AppendSsml : System.Xml.XmlReader -> unit
Public Sub AppendSsml (ssmlFile As XmlReader)

参数

ssmlFile
XmlReader

要追加的 XML 文件的完全限定名称。

示例

下面的示例 PromptBuilder 从对象中创建一个对象 XmlReader ,该对象引用包含语音合成标记语言 (SSML) 标记的文件。

using System;  
using System.Xml;  
using System.IO;  
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.SetOutputToWaveFile(@"C:\test\weather.wav");  

        // Create a SoundPlayer instance to play the output audio file.  
        System.Media.SoundPlayer m_SoundPlayer =  
          new System.Media.SoundPlayer(@"C:\test\weather.wav");  

        // Create the path to the SSML file.  
        string weatherFile = Path.GetFullPath("c:\\test\\Weather.xml");  
        PromptBuilder builder = null;  

        // Create an XML Reader from the file, create a PromptBuilder and   
        // append the XmlReader.  
        if (File.Exists(weatherFile))  
        {  
          XmlReader reader = XmlReader.Create(weatherFile);  
          builder = new PromptBuilder();  
          builder.AppendSsml(reader);  
          reader.Close();  
        }  

        // Speak the prompt and play back the output file.  
        synth.Speak(builder);  
        m_SoundPlayer.Play();  
      }  

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

注解

SSML 文件必须是符合 语音合成标记语言 (ssml) 版本 1.0 规范的 XML 格式文件。

你还可以使用将 SSML 标记附加为字符串 AppendSsmlMarkup

适用于