Freigeben über


SpeechSynthesisStream Klasse

Definition

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
Object Platform::Object IInspectable SpeechSynthesisStream
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.

Gilt für:

Weitere Informationen