Partager via


MediaStreamSource Classe

Définition

Représente une source multimédia qui fournit des exemples multimédias directement au pipeline multimédia.

public ref class MediaStreamSource sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.Media.Core.IMediaStreamSourceFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class MediaStreamSource final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Media.Core.IMediaStreamSourceFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class MediaStreamSource final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Media.Core.IMediaStreamSourceFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class MediaStreamSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Media.Core.IMediaStreamSourceFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class MediaStreamSource
function MediaStreamSource(descriptor, descriptor2)
Public NotInheritable Class MediaStreamSource
Héritage
Object Platform::Object IInspectable MediaStreamSource
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)

Remarques

Consultez l’exemple MediaStreamSource pour obtenir un exemple d’utilisation d’une source de flux multimédia dans une application UWP.

MediaStreamSource est une nouvelle source multimédia générique pour les applications UWP qui est introduite dans Windows 8.1. MediaStreamSource permet aux applications d’envoyer des exemples audio et vidéo compressés ou non au pipeline multimédia à des fins de lecture, de transcodage et de diffusion en continu. Les exemples multimédias peuvent être générés dynamiquement par l’application ou dé multiplexés à partir d’un flux ou de fichiers. Cette flexibilité permet aux applications d’étendre plus facilement la prise en charge de la plateforme pour les nouveaux formats multimédias ou de résoudre des problèmes complexes, tels que la diffusion en continu adaptative.

L’API MediaStreamSource est très similaire à l’API Microsoft Silverlight du même nom.

MediaStreamSource peut être utilisé avec des objets audio et vidéo dans l’application Windows à l’aide de JavaScript, d’objets MediaElement dans les applications UWP en C++, C# ou Visual Basic, et de MediaTranscoder.

L’exemple MediaStreamSource montre comment utiliser MediaStreamSource. Voici quelques-unes des main API MediaStreamSource. L’ordre décrit le flux de base du fonctionnement de MediaStreamSource. Vous remarquerez que MediaStreamSource envoie des objets de requête à l’application via des arguments d’événement. Ces objets de requête permettent à l’application d’interagir avec MediaStreamSource et de lui transmettre des données.

API Description
MediaStreamSource Représente une source multimédia qui fournit des exemples multimédias directement au pipeline multimédia. MediaStreamSource consomme des objets MediaStreamSample fournis par l’application.
MediaStreamSample Représente un exemple de média utilisé par MediaStreamSource.
MediaStreamSource.Starting (événement) MediaStreamSource utilise cet événement pour informer l’application qu’elle est prête à commencer à traiter les données multimédias.
MediaStreamSourceStartingRequest Représente une demande de MediaStreamSource indiquant qu’il est prêt à commencer le traitement des données multimédias. Les applications doivent répondre dès que possible à cette demande en appelant SetActualStartPosition sur la demande. Si une application doit retarder le traitement des données de MediaStreamSource, elle peut obtenir un report asynchrone à partir de MediaStreamSourceStartingRequest.GetDeferral. Lorsque l’application est prête pour le démarrage de MediaStreamSource, elle appelle Complete sur l’objet de report. La demande de départ est accessible via les fichiers MediaStreamSourceStartingEventArgs qui sont transmis au gestionnaire d’événements MediaStreamSource.Starting .
MediaStreamSource.SampleRequested (événement) MediaStreamSource utilise cet événement pour informer l’application qu’elle est prête pour un MediaStreamSample. Les applications sont requises pour inscrire un gestionnaire pour cet événement.
MediaStreamSourceSampleRequest Représente une requête de MediaStreamSource pour un nouvel exemple de média. Si vous affectez à la propriété Sample la valeur du nouveau MediaStreamSample , MediaStreamSource récupère l’exemple de média et continue à traiter les données multimédias. Les applications doivent répondre dès que possible à cette demande. Si une application a besoin de temps avant d’envoyer MediaStreamSample, elle peut obtenir un report asynchrone à partir de MediaStreamSourceSampleRequest.GetDeferral. Lorsque l’application a terminé le report, elle appelle Complete sur l’objet de report. L’exemple de requête est accessible via le mediaStreamSourceSampleRequestedEventArgs qui sont transmis au gestionnaire d’événements MediaStreamSource.SampleRequest . L’application indique qu’elle a atteint la fin du flux en répondant à une demande MediaStreamSourceSampleRequest sans fournir de MediaStreamSample, ou en affectant la propriété MediaStreamSourceSampleRequest.Sample à null.
MediaStreamSource.Closed (événement) MediaStreamSource utilise cet événement pour informer l’application qu’elle s’est arrêtée.
MediaStreamSourceClosedRequest Représente une requête du MediaStreamSource qu’il a fermé. La demande de fermeture est accessible par le biais de MediaStreamSourceClosedEventArgs qui sont passés au gestionnaire d’événements MediaStreamSource.Closed .
MediaElement.SetMediaStreamSource Définit la source de l’élément MediaElement sur un MediaStreamSource.

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1607 14393 SampleRendered
1703 15063 MaxSupportedPlaybackRate
1709 16299 IsLive

Constructeurs

MediaStreamSource(IMediaStreamDescriptor)

Crée une instance de MediaStreamSource à partir de l’IMediaStreamDescriptor spécifié.

MediaStreamSource(IMediaStreamDescriptor, IMediaStreamDescriptor)

Crée une instance de MediaStreamSource à partir de deux objets IMediaStreamDescriptor.

Propriétés

BufferTime

Obtient ou définit la quantité de données mises en mémoire tampon par MediaStreamSource.

CanSeek

Obtient ou définit si l’application prend ou non en charge la modification de sa position dans la ligne de temps du média.

Duration

Obtient ou définit la durée de la ligne de temps du média.

IsLive

Obtient ou définit une valeur indiquant si le contenu multimédia en cours de traitement est actif.

MaxSupportedPlaybackRate

Obtient le taux de lecture maximal pris en charge pour MediaStreamSource.

MediaProtectionManager

Obtient ou définit le MediaProtectionManager de gestion des droits numériques (DRM) utilisé pour protéger le média.

MusicProperties

Obtient les propriétés de musique utilisées pour les métadonnées relatives à la musique.

Thumbnail

Obtient ou définit la miniature qui est une référence à un flux pour une image de miniature vidéo ou une image d’album de musique.

VideoProperties

Obtient les propriétés vidéo qui sont utilisées pour les métadonnées liées à la vidéo.

Méthodes

AddProtectionKey(IMediaStreamDescriptor, Byte[], Byte[])

Ajoute une clé de protection DRM (Digital Rights Management) qui est utilisée par MediaProtectionManager pour chiffrer et déchiffrer le flux spécifié.

AddStreamDescriptor(IMediaStreamDescriptor)

Ajoute un nouveau descripteur de flux à MediaStreamSource.

NotifyError(MediaStreamSourceErrorStatus)

Avertit MediaStreamSource qu’une erreur s’est produite, ce qui empêche l’application de continuer à fournir des données à MediaStreamSource.

SetBufferedRange(TimeSpan, TimeSpan)

Définit la plage de données que l’application met actuellement en mémoire tampon.

Événements

Closed

Se produit lorsque MediaStreamSource est en cours d’arrêt.

Paused

Se produit lorsque MediaStreamSource est suspendu et cesse de demander des objets MediaStreamSample pendant une période non spécifiée, mais qu’il est censé reprendre la demande d’objets MediaStreamSample à partir de la position actuelle.

SampleRendered

Se produit lorsqu’un exemple de MediaStreamSource est affiché.

SampleRequested

Se produit lorsque MediaStreamSource demande un MediaStreamSample pour un flux spécifié.

Starting

Se produit lorsque MediaStreamSource est prêt à commencer à demander des objets MediaStreamSample . L’événement peut spécifier une position dans la ligne de temps du média à partir de laquelle le premier MediaStreamSample doit être remis.

SwitchStreamsRequested

Se produit lorsque MediaStreamSource cesse de demander des objets MediaStreamSample pour un flux donné et commence à demander des objets MediaStreamSample à partir d’un autre flux à la place.

S’applique à

Voir aussi