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
Указывает продолжительность перерыва.
Примеры
В следующем примере создается запрос, содержащий два предложения, разделенных разрывом, и отправляет выходные данные в 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 наносекунд.
Примеры
В следующем примере создается запрос, содержащий два предложения, разделенные перерывом в 15 000 000 тактов (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();
}
}
}
Комментарии
Разрыв можно использовать для управления паузами или другими интонационную границами между словами. Перерыв является необязательным. Если перерыв отсутствует, синтезатор определяет разрыв между словами в зависимости от лингвистического контекста.