SpeechSynthesizer.Speak Метод

Определение

Создает речевой вывод синхронно из строки, объекта Prompt или объекта PromptBuilder.

Перегрузки

Speak(Prompt)

Синхронно произносит содержимое объекта Prompt.

Speak(PromptBuilder)

Синхронно произносит содержимое объекта PromptBuilder.

Speak(String)

Синхронно произносит содержимое строки.

Комментарии

Методы Speak создают речь синхронно. Методы не возвращаются до тех пор, пока содержимое экземпляра Speak не будет полностью произнесено. Это самый простой способ создания речи. Однако если приложению необходимо выполнять задачи во время речи, например выделение текста, анимацию рисования, элементы управления монитором или другие задачи, используйте SpeakAsync методы или метод для SpeakSsmlAsync асинхронного создания речи.

Во время вызова этого метода SpeechSynthesizer может вызывать следующие события:

  • StateChanged. Возникает при изменении состояния речи синтезатора.

  • SpeakStarted. Возникает, когда синтезатор начинает генерировать речь.

  • PhonemeReached. Возникает каждый раз, когда синтезатор достигает буквы или сочетания букв, составляющих сдержанный звук речи на языке.

  • SpeakProgress. Возникает каждый раз, когда синтезатор завершает произнесение слова.

  • VisemeReached. Поднимаемая каждый раз при произнесенных выходных данных требует изменения положения рта или лицевых мышц, используемых для производства речи.

  • BookmarkReached. Возникает, когда синтезатор обнаруживает закладку в запросе.

  • VoiceChange. Возникает при изменении голоса синтезатора.

Не SpeechSynthesizer вызывает событие при обработке SpeakCompletedSpeak любого из методов.

Speak(Prompt)

Исходный код:
SpeechSynthesizer.cs
Исходный код:
SpeechSynthesizer.cs
Исходный код:
SpeechSynthesizer.cs

Синхронно произносит содержимое объекта Prompt.

public:
 void Speak(System::Speech::Synthesis::Prompt ^ prompt);
public void Speak (System.Speech.Synthesis.Prompt prompt);
member this.Speak : System.Speech.Synthesis.Prompt -> unit
Public Sub Speak (prompt As Prompt)

Параметры

prompt
Prompt

Содержимое для озвучки.

Примеры

В следующем примере создается Prompt объект из строки и он передается в качестве аргумента Speak в метод .

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 prompt from a string.
        Prompt color = new Prompt("What is your favorite color?");

        // Speak the contents of the prompt synchronously.
        synth.Speak(color);
      }

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

Комментарии

Чтобы асинхронно говорить о содержимом Prompt объекта, используйте .SpeakAsync

Применяется к

Speak(PromptBuilder)

Исходный код:
SpeechSynthesizer.cs
Исходный код:
SpeechSynthesizer.cs
Исходный код:
SpeechSynthesizer.cs

Синхронно произносит содержимое объекта PromptBuilder.

public:
 void Speak(System::Speech::Synthesis::PromptBuilder ^ promptBuilder);
public void Speak (System.Speech.Synthesis.PromptBuilder promptBuilder);
member this.Speak : System.Speech.Synthesis.PromptBuilder -> unit
Public Sub Speak (promptBuilder As PromptBuilder)

Параметры

promptBuilder
PromptBuilder

Содержимое для озвучки.

Примеры

В следующем примере создается PromptBuilder объект из строки и он передается в качестве аргумента Speak в метод .

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 text string.
        PromptBuilder song = new PromptBuilder();
        song.AppendText("Say the name of the song you want to hear");

        // Speak the contents of the prompt synchronously.
        synth.Speak(song);
      }

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

Комментарии

Чтобы асинхронно говорить о содержимом PromptBuilder объекта, используйте .SpeakAsync

Применяется к

Speak(String)

Исходный код:
SpeechSynthesizer.cs
Исходный код:
SpeechSynthesizer.cs
Исходный код:
SpeechSynthesizer.cs

Синхронно произносит содержимое строки.

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

Параметры

textToSpeak
String

Текст для озвучки.

Примеры

Как показано в следующем примере, Speak метод предоставляет простейшие средства для синхронного создания выходных данных речи.

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

        // Speak a string synchronously.
        synth.Speak("What is your favorite color?");
      }

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

Комментарии

Чтобы синхронно произносить строку, содержащую разметку SSML, используйте SpeakSsml метод . Чтобы асинхронно произнести содержимое строки, используйте SpeakAsync метод .

Применяется к