Partager via


AppCaptureMetadataWriter Classe

Définition

Permet à une application de stocker des métadonnées que le système insérera dans des fichiers vidéo capturés ou des flux de diffusion de contenu d’application.

public ref class AppCaptureMetadataWriter sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Media.Capture.AppCaptureMetadataContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Media.Capture.AppCaptureMetadataContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AppCaptureMetadataWriter final : IClosable
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Media.Capture.AppCaptureMetadataContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Media.Capture.AppCaptureMetadataContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AppCaptureMetadataWriter : System.IDisposable
function AppCaptureMetadataWriter()
Public NotInheritable Class AppCaptureMetadataWriter
Implements IDisposable
Héritage
Object Platform::Object IInspectable AppCaptureMetadataWriter
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows Desktop Extension SDK (introduit dans 10.0.16299.0)
API contract
Windows.Media.Capture.AppCaptureMetadataContract (introduit dans v1.0)

Remarques

Lorsque vous créez une instance d’AppCaptureMetadataWriter, le système initialise un instance unique pour votre application, puis est prêt à écrire des éléments de métadonnées. Bien qu’une seule application puisse être capturée ou diffusée à la fois, le système peut accumuler des métadonnées pour plusieurs applications simultanément. AppCaptureMetadataWriter n’initie ni ne modifie l’état de capture ou de diffusion actuel. Vous devez créer et conserver le instance d’AppCaptureMetadataWriter tant que vous souhaitez que le système conserve les métadonnées en mémoire. Lorsque la instance d’AppCaptureMetadataWriter est publiée, toutes les métadonnées associées à cette instance d’AppCaptureMetadataWriter sont également publiées.

Lorsque vous écrivez un élément de métadonnées, le système associe un horodatage à l’élément afin qu’il soit automatiquement inclus dans l’intervalle de temps capturé ou diffusé auquel il s’applique.

Actuellement, deux types différents d’éléments de métadonnées sont pris en charge Par AppCaptureMetadataWriter : les événements et l’état. Un événement de métadonnées est associé à un seul point dans le temps et est généralement associé à une action instantanée, telle qu’un joueur d’un jeu marquant un point. Un état est un élément de métadonnées qui s’applique sur une fenêtre de temps. Par exemple, un état qui contient le nom de la carte de jeu dans laquelle se trouve actuellement un joueur. Une fois qu’une valeur d’état a été définie, le système conserve cette valeur pour l’état jusqu’à ce qu’elle soit définie sur une valeur différente, jusqu’à ce qu’elle soit arrêtée avec un appel StopState ou jusqu’à ce que tous les états se terminent par un appel à StopAllStates. Les événements et les états sont représentés sous la forme d’une paire clé/valeur où la clé est l’état ou le nom de l’événement et la valeur est un entier, un double ou une valeur de chaîne.

Lorsque la capture d’applications historiques est activée, le système accumule les métadonnées écrites avec AppCaptureMetadataWriter , même en cas de non-capture ou de diffusion actives. Lorsque, par exemple, une capture des 30 secondes précédentes est écrite dans un fichier vidéo sur disque, les métadonnées associées à la fenêtre de temps enregistrée sont incluses dans le fichier. Le système impose une limite à l’espace de stockage alloué par application pour le stockage des métadonnées accumulées. Vous pouvez obtenir l’espace de stockage actuellement disponible en vérifiant la propriété RemainingStorageBytesAvailable .

Lorsque tout l’espace alloué a été rempli, le système commence à vider les métadonnées à l’aide de la valeur AppCaptureMetadataPriority , spécifiée lorsque les éléments de métadonnées ont été écrits, et l’âge de chaque élément afin de supprimer d’abord les données les plus anciennes et les moins importantes. Lorsque cela se produit, l’événement MetadataPurged est déclenché. En réponse à cet événement, vous pouvez choisir de réduire la quantité de métadonnées que votre application écrit, mais cela n’est pas obligatoire.

Les éléments de métadonnées sont classés comme Important ou Informationnel comme spécifié avec l’énumération AppCaptureMetadataPriority . Priorité importante signifie que les métadonnées seront chargées sur le service Xbox Live. Les métadonnées seront utilisées pour aider les utilisateurs à rechercher des clips ou à annoter des diffusions, entre autres choses. Les métadonnées Importantes et Informationnelles étant incorporées dans le fichier .mp4 généré, vous ne devez pas inclure d’informations utilisateur privées dans les métadonnées.

Cette API peut générer une erreur si le service en arrière-plan s’est arrêté en raison d’un délai d’inactivité.

Constructeurs

AppCaptureMetadataWriter()

Initialise une nouvelle instance de la classe AppCaptureMetadataWriter.

Propriétés

RemainingStorageBytesAvailable

Obtient le nombre d’octets restants dans l’espace de stockage alloué par le système pour les éléments de métadonnées de capture d’application.

Méthodes

AddDoubleEvent(String, Double, AppCaptureMetadataPriority)

Ajoute un nouvel événement de métadonnées doubles.

AddInt32Event(String, Int32, AppCaptureMetadataPriority)

Ajoute un nouvel événement de métadonnées d’entier.

AddStringEvent(String, String, AppCaptureMetadataPriority)

Ajoute un nouvel événement de métadonnées de chaîne.

Close()

Supprime l’objet et les ressources associées.

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.

StartDoubleState(String, Double, AppCaptureMetadataPriority)

Ajoute un nouvel état de double métadonnées.

StartInt32State(String, Int32, AppCaptureMetadataPriority)

Ajoute un nouvel état de double métadonnées.

StartStringState(String, String, AppCaptureMetadataPriority)

Ajoute un nouvel état de double métadonnées.

StopAllStates()

Arrête tous les états de métadonnées.

StopState(String)

Arrête l’état des métadonnées avec l’identificateur spécifié.

Événements

MetadataPurged

Se produit lorsque le système vide les éléments de métadonnées précédemment stockés.

S’applique à