PromptBuilder.AppendBreak 方法

定义

PromptBuilder 对象的内容中插入中断(暂停)。

重载

AppendBreak()

将中断添加到 PromptBuilder 对象。

AppendBreak(PromptBreak)

将中断添加到 PromptBuilder 对象,并指定其强度(持续时间)。

AppendBreak(TimeSpan)

将指定持续时间的中断追加到 PromptBuilder 对象。

AppendBreak()

将中断添加到 PromptBuilder 对象。

public:
 void AppendBreak();
public void AppendBreak ();
member this.AppendBreak : unit -> unit
Public Sub AppendBreak ()

示例

下面的示例生成一个提示,其中包含两个用中断分隔的句子,并将提示讲述到计算机上的默认音频设备。

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

        // Build a prompt with two sentences separated by a break.  
        PromptBuilder builder = new PromptBuilder(  
          new System.Globalization.CultureInfo("en-US"));  
        builder.AppendText(  
          "Tonight's movie showings in theater A are at 5:45, 7:15, and 8:45.");  
        builder.AppendBreak();  
        builder.AppendText(  
          "Tonight's movie showings in theater B are at 5:15, 7:30, and 9:15.");  

        // Speak the prompt.  
        synth.Speak(builder);  
      }  

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

注解

此方法未指定中断的持续时间。 SpeechSynthesizer将根据语言上下文确定持续时间值。

适用于

AppendBreak(PromptBreak)

将中断添加到 PromptBuilder 对象,并指定其强度(持续时间)。

public:
 void AppendBreak(System::Speech::Synthesis::PromptBreak strength);
public void AppendBreak (System.Speech.Synthesis.PromptBreak strength);
member this.AppendBreak : System.Speech.Synthesis.PromptBreak -> unit
Public Sub AppendBreak (strength As PromptBreak)

参数

strength
PromptBreak

指示中断的持续时间。

示例

下面的示例生成一个提示,其中包含两个由 break 分隔的句子,并将输出发送到 WAV 文件以进行播放。

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.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");  

        // Build a prompt with two sentences separated by a break.  
        PromptBuilder builder = new PromptBuilder(  
          new System.Globalization.CultureInfo("en-US"));  
        builder.AppendText(  
          "Tonight's movie showings in theater A are at 5:45, 7:15, and 8:45");  
        builder.AppendBreak(PromptBreak.Medium);  
        builder.AppendText(  
          "Tonight's movie showings in theater B are at 5:15, 7:15, and 9:15");  

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

注解

枚举中的值 PromptBreak 表示一系列分离间隔, (在单词边界之间的暂停) 。 语音合成引擎确定间隔的确切持续时间。 当请求中断时,这些值中的一个值将传递给文本到语音 (TTS) 引擎,其中包含这些值与相应的毫秒分隔值之间的映射。

适用于

AppendBreak(TimeSpan)

将指定持续时间的中断追加到 PromptBuilder 对象。

public:
 void AppendBreak(TimeSpan duration);
public void AppendBreak (TimeSpan duration);
member this.AppendBreak : TimeSpan -> unit
Public Sub AppendBreak (duration As TimeSpan)

参数

duration
TimeSpan

在计时周期的时间,一个刻度等于 100 纳秒。

示例

下面的示例生成一个包含两个句子的提示,该提示由15000000刻度分隔 (1.5 秒) ,并向计算机上的默认音频设备发出提示。

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

        // Build a prompt with two sentences separated by a break.  
        PromptBuilder builder = new PromptBuilder(  
          new System.Globalization.CultureInfo("en-US"));  
        builder.AppendText(  
          "Tonight's movie showings in theater A are at 5:45, 7:15, and 8:45");  
        builder.AppendBreak(new TimeSpan(15000000));  
        builder.AppendText(  
          "Tonight's movie showings in theater B are at 5:15, 7:15, and 9:15");  

        // Speak the prompt.  
        synth.Speak(builder);  
      }  

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

注解

中断可用于控制单词之间的暂停或其他韵律边界。 分行符是可选的。 如果不存在中断,合成器将根据语言上下文确定词之间的分隔符。

适用于