SpeechSynthesisStream Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Prend en charge la lecture et l’écriture de données audio générées par le moteur de synthèse vocale (voix) vers/à partir d’un flux d’accès aléatoire.
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
- Héritage
- Attributs
- Implémente
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Exemples
Votre application UWP peut utiliser un objet SpeechSynthesizer pour créer un flux audio et une sortie vocale basée sur une chaîne de texte brut.
// 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();
});
Remarques
Historique des versions
Version de Windows | Version du SDK | Valeur ajoutée |
---|---|---|
1703 | 15063 | TimedMetadataTracks |
Propriétés
CanRead |
Obtient si SpeechSynthesisStream peut être lu. |
CanWrite |
Obtient une valeur qui indique si SpeechSynthesisStream peut être écrit dans. |
ContentType |
Obtient le type MIME du contenu de SpeechSynthesisStream. |
Markers |
Obtient la collection de marqueurs chronologie associés à SpeechSynthesisStream. Notes SpeechSynthesisStream.Markers est déconseillé. Nous vous recommandons d’utiliser les objets MediaPlayerElement et MediaPlaybackItem à la place (conjointement avec les propriétés IncludeSentenceBoundaryMetadata et IncludeWordBoundaryMetadata d’un objet SpeechSynthesizerOptions ). |
Position |
Obtient la position actuelle dans SpeechSynthesisStream. |
Size |
Obtient ou définit la taille de SpeechSynthesisStream. |
TimedMetadataTracks |
Obtient la collection de limites de mots et de phrases facultatives dans le flux de synthèse vocale, comme spécifié par la propriété SpeechSynthesizer.Options . |
Méthodes
CloneStream() |
Crée une copie de SpeechSynthesisStream qui fait référence aux mêmes octets que le flux d’origine. |
Close() |
Libère les ressources système exposées par SpeechSynthesisStream. |
Dispose() |
Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées. |
FlushAsync() |
Vide les données de manière asynchrone dans un flux séquentiel. |
GetInputStreamAt(UInt64) |
Récupère un flux d’entrée à un emplacement spécifié dans SpeechSynthesisStream. |
GetOutputStreamAt(UInt64) |
Récupère un flux de sortie à un emplacement spécifié dans SpeechSynthesisStream. |
ReadAsync(IBuffer, UInt32, InputStreamOptions) |
Lit les données de manière asynchrone dans un flux séquentiel. |
Seek(UInt64) |
Accède à la position spécifiée dans SpeechSynthesisStream. |
WriteAsync(IBuffer) |
Écrit des données de manière asynchrone dans un flux séquentiel. |