SpeechSynthesizer.SpeakSsmlAsync(String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Asynchronicznie mówi element String zawierający adiustację 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
Parametry
- textToSpeak
- String
Znaczniki SMML do wypowiadania.
Zwraca
Obiekt, który zawiera zawartość do wypowiadania.
Wyjątki
textToSpeak
to null
.
Przykłady
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();
}
}
}
Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez SpeakSsml(String)usługę .
Uwagi
Zawartość parametru textToSpeak
musi zawierać element i musi być zgodna z językiem speak
Speech Synthesis Markup Language (SSML) w wersji 1.0. Aby uzyskać więcej informacji, zobacz Speech Synthesis Markup Language Reference (Dokumentacja języka znaczników syntezy mowy).
Aby synchronicznie mówić ciąg zawierający adiustację SSML, użyj SpeakSsml metody . Możesz użyć SpeakAsync polecenia , aby zainicjować asynchroniczne mówienie o ciągu, który nie zawiera znaczników SSML.
Podczas wywołania tej metody SpeechSynthesizer program może zgłosić następujące zdarzenia:
StateChanged. Podniesione, gdy stan mówienia syntezatora zmienia się.
SpeakStarted. Podniesione, gdy syntetyzator zaczyna generować mowę.
PhonemeReached. Podniesiony za każdym razem, gdy syntetyzator osiąga literę lub kombinację liter, które stanowią dyskretny dźwięk mowy w języku.
SpeakProgress. Podniesione za każdym razem syntetyzator kończy mówienie słowa.
VisemeReached. Podniesione za każdym razem, gdy mówione dane wyjściowe wymagają zmiany położenia ust lub mięśni twarzy używanych do tworzenia mowy.
BookmarkReached. Podniesione, gdy syntetyzator napotka zakładkę w wierszu polecenia.
VoiceChange. Podniesione, gdy głos mówiący dla syntetyzatora zmienia się.
SpeakCompleted. Podniesione po zakończeniu przetwarzania SpeakSsmlAsync operacji przez syntetyzator.
Jeśli aplikacja nie musi wykonywać zadań podczas mówienia, możesz użyć Speak metody lub SpeakSsml , aby synchronicznie wygenerować mowę.