MediaStreamSource 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.
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
- 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. |