SpeechSynthesisStream Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Unterstützt das Lesen und Schreiben von Audiodaten, die von der Sprachsynthese-Engine (Stimme) zu/aus einem Datenstrom mit zufälligem Zugriff generiert werden.
public ref class SpeechSynthesisStream sealed : IClosable
public ref class SpeechSynthesisStream sealed : IClosable, ITimedMetadataTrackProvider
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class SpeechSynthesisStream final : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class SpeechSynthesisStream final : IClosable, ITimedMetadataTrackProvider
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class SpeechSynthesisStream : System.IDisposable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class SpeechSynthesisStream : System.IDisposable, ITimedMetadataTrackProvider
Public NotInheritable Class SpeechSynthesisStream
Implements IDisposable
Public NotInheritable Class SpeechSynthesisStream
Implements IDisposable, ITimedMetadataTrackProvider
- Vererbung
- Attribute
- Implementiert
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Beispiele
Ihre UWP-App kann ein SpeechSynthesizer-Objekt verwenden, um einen Audiostream und eine Sprachausgabe basierend auf einer Nur-Text-Zeichenfolge zu erstellen.
// The media object for controlling and playing audio.
MediaElement mediaElement = this.media;
// The object for controlling the speech synthesis engine (voice).
var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
// Generate the audio stream from plain text.
SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync("Hello World");
// Send the stream to the media object.
mediaElement.SetSource(stream, stream.ContentType);
mediaElement.Play();
// The object for controlling the speech synthesis engine (voice).
synth = ref new SpeechSynthesizer();
// The media object for controlling and playing audio.
media = ref new MediaElement();
// The string to speak.
String^ text = "Hello World";
// Generate the audio stream from plain text.
task<SpeechSynthesisStream ^> speakTask = create_task(synth->SynthesizeTextToStreamAsync(text));
speakTask.then([this, text](SpeechSynthesisStream ^speechStream)
{
// Send the stream to the media object.
// media === MediaElement XAML object.
media->SetSource(speechStream, speechStream->ContentType);
media->AutoPlay = true;
media->Play();
});
// The string to speak with SSML customizations.
string Ssml =
@"<speak version='1.0' " +
"xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'>" +
"Hello <prosody contour='(0%,+80Hz) (10%,+80%) (40%,+80Hz)'>World</prosody> " +
"<break time='500ms'/>" +
"Goodbye <prosody rate='slow' contour='(0%,+20Hz) (10%,+30%) (40%,+10Hz)'>World</prosody>" +
"</speak>";
// The media object for controlling and playing audio.
MediaElement mediaElement = this.media;
// The object for controlling the speech synthesis engine (voice).
var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
// Generate the audio stream from plain text.
SpeechSynthesisStream stream = await synth.synthesizeSsmlToStreamAsync(Ssml);
// Send the stream to the media object.
mediaElement.SetSource(stream, stream.ContentType);
mediaElement.Play();
// The object for controlling the speech synthesis engine (voice).
synth = ref new SpeechSynthesizer();
// The media object for controlling and playing audio.
media = ref new MediaElement();
// The string to speak.
String^ ssml =
"<speak version='1.0' "
"xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'>"
"Hello <prosody contour='(0%,+80Hz) (10%,+80%) (40%,+80Hz)'>World</prosody>"
"<break time='500ms' /> "
"Goodbye <prosody rate='slow' contour='(0%,+20Hz) (10%,+30%) (40%,+10Hz)'>World</prosody>"
"</speak>";
// Generate the audio stream from SSML.
task<SpeechSynthesisStream ^> speakTask = create_task(synth->SynthesizeSsmlToStreamAsync(ssml));
speakTask.then([this, ssml](SpeechSynthesisStream ^speechStream)
{
// Send the stream to the media object.
// media === MediaElement XAML object.
media->SetSource(speechStream, speechStream->ContentType);
media->AutoPlay = true;
media->Play();
});
Hinweise
Versionsverlauf
Windows-Version | SDK-Version | Mehrwert |
---|---|---|
1703 | 15063 | TimedMetadataTracks |
Eigenschaften
CanRead |
Ruft ab , ob SpeechSynthesisStream aus gelesen werden kann. |
CanWrite |
Ruft einen Wert ab, der angibt, ob SpeechSynthesisStream in geschrieben werden kann. |
ContentType |
Ruft den MIME-Typ des Inhalts von SpeechSynthesisStream ab. |
Markers |
Ruft die Auflistung von Zeitleiste Markern ab, die speechSynthesisStream zugeordnet sind. Hinweis SpeechSynthesisStream.Markers ist veraltet. Es wird empfohlen, stattdessen die Objekte MediaPlayerElement und MediaPlaybackItem zu verwenden (in Verbindung mit den Eigenschaften IncludeSentenceBoundaryMetadata und IncludeWordBoundaryMetadata eines SpeechSynthesizerOptions-Objekts ). |
Position |
Ruft die aktuelle Position innerhalb von SpeechSynthesisStream ab. |
Size |
Ruft die Größe von SpeechSynthesisStream ab oder legt sie fest. |
TimedMetadataTracks |
Ruft die Auflistung optionaler Wort- und Satzgrenzen im Sprachsynthesestream ab, wie durch die SpeechSynthesizer.Options-Eigenschaft angegeben. |
Methoden
CloneStream() |
Erstellt eine Kopie von SpeechSynthesisStream , die auf die gleichen Bytes wie der ursprüngliche Stream verweist. |
Close() |
Gibt Systemressourcen frei, die von SpeechSynthesisStream verfügbar gemacht werden. |
Dispose() |
Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen. |
FlushAsync() |
Leert Daten asynchron in einem sequenziellen Stream. |
GetInputStreamAt(UInt64) |
Ruft einen Eingabedatenstrom an einer angegebenen Position in SpeechSynthesisStream ab. |
GetOutputStreamAt(UInt64) |
Ruft einen Ausgabedatenstrom an einer angegebenen Position in SpeechSynthesisStream ab. |
ReadAsync(IBuffer, UInt32, InputStreamOptions) |
Liest Daten asynchron in einem sequenziellen Stream. |
Seek(UInt64) |
Wechselt zur angegebenen Position in SpeechSynthesisStream. |
WriteAsync(IBuffer) |
Schreibt Daten asynchron in einen sequenziellen Stream. |