Utilisation des extensions multimédias (HTML)

[ Cet article est destiné aux développeurs Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Cette rubrique décrit ce que sont les extensions multimédias et comment les utiliser dans votre application Windows Runtime.

Introduction

Les extensions multimédias ajoutent des fonctionnalités au pipeline multimédia dans votre application Windows Runtime. Certaines extensions possibles peuvent inclure des effets audio et vidéo, des effets de capture, un transcodage, la gestion des droits numériques (DRM), la prise en charge de décodeurs et d’encodeurs, ou encore un récepteur de capture personnalisé, pour n’en nommer que quelques-uns. Certaines extensions sont incluses dans le système, telles que l’effet VideoStabilization et le MediaProtectionManager DRM. Des fonctionnalités non incluses dans le système peuvent être ajoutées au moyen d’extensions multimédias personnalisées.

Pour obtenir un exemple détaillé d’utilisation des extensions multimédias personnalisées, voir l’exemple d’extension multimédia. Cet exemple explique comment créer et activer un effet de nuances de gris vidéo personnalisé et un décodeur personnalisé et comment utiliser l’effet VideoStabilization intégré.

Un autre exemple utilisant les extensions multimédias est l’exemple de communication en temps réel.

Pipeline multimédia et ajout/suppression d’effets et d’extensions

Le pipeline Media Foundation se compose de sources de média, d’objets MFT (Media Foundation Transform) comme des effets vidéo, des encodeurs et des décodeurs, et de récepteurs. Il existe plusieurs manières d’ajouter des effets et des extensions à une application du Windows Store. Le MediaExtensionManager vous permet de remplacer la source de média, ainsi que les encodeurs et les décodeurs. Des méthodes dans les objets de lecture, de capture et de transcodage vous permettent d’ajouter et de supprimer des effets. La classe MediaCapture sert à ajouter un récepteur personnalisé.

La manière dont vous ajoutez et supprimer des effets à des objets de lecture audio et vidéo dépend du langage de programmation que vous employez.

Pour les applications Windows Runtime en JavaScript, utilisez msInsertVideoEffect, msInsertAudioEffect et msClearEffects. Ces méthodes sont présentées dans les balises HTML5 audio et video.

Pour les applications Windows Runtime en C# ou Visual Basic, utilisez MediaElement.AddAudioEffect, MediaElement.AddVideoEffect et RemoveAllEffects.

Pour ajouter et supprimer des effets pour le transcodage, utilisez MediaTranscoder.AddVideoEffect, MediaTranscoder.AddAudioEffect et MediaTranscoder.ClearEffects.

Pour ajouter et supprimer des effets pour la capture multimédia, utilisez MediaCapture.AddEffectAsync et MediaCapture.ClearEffectsAsync.

Pour inscrire des gestionnaires de schémas, des gestionnaires de flux d’octets, des encodeurs audio et vidéo et des décodeurs audio et vidéo, utilisez MediaExtensionManager.

Pour ajouter un récepteur personnalisé à une capture multimédia, utilisez MediaCapture.StartRecordToCustomSinkAsync et MediaCapture.StartPreviewToCustomSinkAsync.

La gestion des droits numériques (DRM) est prise en charge par le biais de l’API MediaProtectionManager.

Extension intégrée

Windows Runtime propose un effet intégré qui permet de stabiliser des vidéos tremblantes, notamment des vidéos prises avec une caméra tenue à la main.

La rubrique Comment ajouter la stabilisation vidéo explique comment utiliser l’effet VideoStabilization dans une application Windows Runtime en JavaScript. L’exemple d’extension multimédia explique aussi comment utiliser l’effet VideoStabilization.

Extensions personnalisées

Vous pouvez utiliser des extensions multimédias personnalisées pour ajouter de nouvelles fonctionnalités au pipeline multimédia. Par exemple, vous pouvez créer un effet vidéo personnalisé pour convertir la vidéo en nuances de gris, comme le montre l’exemple d’extension multimédia. Vous pouvez également utiliser des extensions personnalisées pour ajouter la prise en charge de formats audio et vidéo qui ne sont pas nativement pris en charge par le système.

La création d’une extension personnalisée se fait en deux parties. La première concerne l’écriture du composant Media Foundation ; la deuxième consiste à encapsuler ce composant dans un objet d’extension multimédia Windows Runtime. Pour obtenir un exemple détaillé illustrant l’utilisation de différentes extensions multimédias personnalisées, voir l’exemple d’extension multimédia.

Une extension multimédia est un objet hybride qui implémente des interfaces COM (Component Object Model) et Windows Runtime. Les interfaces COM interagissent avec le pipeline Microsoft Media Foundation. Les interfaces Windows Runtime activent le composant et interagissent avec l’application du Windows Store.

Le plus souvent, il est recommandé d’utiliser Visual C++ avec extensions des composants (C++/CX) pour interagir avec Windows Runtime. Cela n’est toutefois pas possible avec des composants hybrides qui implémentent des interfaces COM et Windows Runtime, telles que les extensions multimédias. C++/CX peut uniquement créer des objets Windows Runtime. Pour créer des objets hybrides, nous vous recommandons d’utiliser la bibliothèque de modèles C++ Windows Runtime pour interagir avec Windows Runtime. Sachez que la bibliothèque de modèles C++ Windows Runtime ne permet pas d’implémenter toutes les interfaces COM.

Notez que les extensions personnalisées sont uniquement accessibles à l’application où elles sont créées et inscrites. Elles ne sont pas accessibles aux autres applications.

Hh700365.wedge(fr-fr,WIN.10).gifÉtapes de niveau supérieur pour la création d’un effet personnalisé.

  1. Créer une extension Media Foundation native et implémenter l’interface IMediaExtension.
  2. Enregistrez et activez l’extension.
  3. Ajouter l’extension dans votre application au pipeline multimédia.

Pour plus d’informations sur la création d’une extension multimédia Media Foundation dans une application Windows Runtime, voir Procédure pas à pas : création d’une application du Windows Store utilisant WRL et Media Foundation et l’exemple d’extension multimédia.

Rubriques associées

Exemple d’extension multimédia

Exemple de transcodage d’éléments multimédias

Exemple de communication en temps réel

Création d’une application du Windows Store utilisant WRL et Media Foundation

Media Foundation Transforms (MFT)

Comment activer les effets dans la balise vidéo

Comment ajouter la stabilisation vidéo