PromptBuilder.AppendBreak 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在 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();
}
}
}
注解
中断可用于控制单词之间的暂停或其他韵律边界。 分行符是可选的。 如果不存在中断,合成器将根据语言上下文确定词之间的分隔符。