SpeechSynthesizer.BookmarkReached Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyvolá se, když narazí na SpeechSynthesizer záložku ve výzvě.
public:
event EventHandler<System::Speech::Synthesis::BookmarkReachedEventArgs ^> ^ BookmarkReached;
public event EventHandler<System.Speech.Synthesis.BookmarkReachedEventArgs> BookmarkReached;
member this.BookmarkReached : EventHandler<System.Speech.Synthesis.BookmarkReachedEventArgs>
Public Custom Event BookmarkReached As EventHandler(Of BookmarkReachedEventArgs)
Event Type
Příklady
Následující příklad vytvoří výzvu, která obsahuje dvě záložky a odešle výstup do souboru WAV pro přehrávání. Obslužná rutina události BookmarkReached zapíše název záložky a její pozici ve zvukovém streamu při vyvolání události do konzoly.
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 and append bookmarks.
PromptBuilder builder = new PromptBuilder(
new System.Globalization.CultureInfo("en-US"));
builder.AppendText(
"The weather forecast for today is partly cloudy with some sun breaks.");
builder.AppendBookmark("Daytime forecast");
builder.AppendText(
"Tonight's weather will be cloudy with a 30% chance of showers.");
builder.AppendBookmark("Nighttime forecast");
// Add a handler for the BookmarkReached event.
synth.BookmarkReached +=
new EventHandler<BookmarkReachedEventArgs>(synth_BookmarkReached);
// 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();
}
// Write the name and position of the bookmark to the console.
static void synth_BookmarkReached(object sender, BookmarkReachedEventArgs e)
{
Console.WriteLine("Bookmark ({0}) reached at: {1} ",
e.Bookmark, e.AudioPosition);
}
}
}
Poznámky
Objekt SpeechSynthesizer vyvolá tuto událost při zpracování jakékoli metody Speak, SpeakAsync, SpeakSsml, nebo SpeakSsmlAsync . Informace o datech přidružených k události najdete v tématu BookmarkReachedEventArgs.
Záložky můžete přidat pomocí AppendBookmark metody .