SpeechSynthesizer.SpeakSsmlAsync(String) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Assíncronamente fala um String que contém marcação SSML.
public:
System::Speech::Synthesis::Prompt ^ SpeakSsmlAsync(System::String ^ textToSpeak);
public System.Speech.Synthesis.Prompt SpeakSsmlAsync(string textToSpeak);
member this.SpeakSsmlAsync : string -> System.Speech.Synthesis.Prompt
Public Function SpeakSsmlAsync (textToSpeak As String) As Prompt
Parâmetros
- textToSpeak
- String
A marcação SMML, para falar.
Devoluções
O objeto que contém o conteúdo para falar.
Exceções
textToSpeaké null.
Exemplos
using System;
using System.Speech.Synthesis;
namespace SampleSynthesis
{
class Program
{
static void Main(string[] args)
{
// Initialize a new instance of the SpeechSynthesizer.
SpeechSynthesizer synth = new SpeechSynthesizer();
// Configure the audio output.
synth.SetOutputToDefaultAudioDevice();
// Build an SSML prompt in a string.
string str = "<speak version=\"1.0\"";
str += " xmlns=\"http://www.w3.org/2001/10/synthesis\"";
str += " xml:lang=\"en-US\">";
str += "<say-as type=\"date:mdy\"> 1/29/2009 </say-as>";
str += "</speak>";
// Speak the contents of the prompt asynchronously.
synth.SpeakSsmlAsync(str);
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por SpeakSsml(String).
Observações
O conteúdo do textToSpeak parâmetro deve incluir um speak elemento e deve estar em conformidade com a Speech Synthesis Markup Language (SSML) Versão 1.0. Para mais informações, consulte Reference de Linguagem de Marcação de Síntese de Voz.
Para falar síncronamente uma cadeia que contenha marcação SSML, use o SpeakSsml método. Podes usar SpeakAsync para iniciar a fala assíncrona de uma string que não contenha marcação SSML.
Durante uma chamada para este método, podem SpeechSynthesizer levantar os seguintes eventos:
StateChanged. Levanta-se quando o estado de fala do sintetizador muda.
SpeakStarted. Eleva-se quando o sintetizador começa a gerar fala.
PhonemeReached. Eleva-se cada vez que o sintetizador alcança uma letra ou combinação de letras que constituem um som discreto de fala numa língua.
SpeakProgress. Eleva-se cada vez que o sintetizador termina de pronunciar uma palavra.
VisemeReached. Elevado cada vez que a saída falada exige uma alteração na posição da boca ou dos músculos faciais usados para produzir a fala.
BookmarkReached. Aumenta quando o sintetizador encontra um marcador num prompt.
VoiceChange. Eleva-se quando a voz falada do sintetizador muda.
SpeakCompleted. Levanta-se quando o sintetizador termina de processar uma SpeakSsmlAsync operação.
Se a sua aplicação não precisar de realizar tarefas enquanto fala, pode usar o Speak método OR SpeakSsml para gerar fala de forma síncrona.