Méthode ISpatialAudioMetadataReader ::ReadNextItemCommand (spatialaudiometadata.h)
Lit les commandes de métadonnées et les données de valeur pour l’élément actif.
Syntaxe
HRESULT ReadNextItemCommand(
[out] BYTE *commandID,
[in] void *valueBuffer,
[in] UINT32 maxValueBufferLength,
[out] UINT32 *valueBufferLength
);
Paramètres
[out] commandID
Reçoit l’ID de commande pour la commande actuelle.
[in] valueBuffer
Pointeur vers une mémoire tampon qui reçoit des données spécifiques à la commande, comme spécifié par la définition de format de métadonnées. La mémoire tampon doit être au moins maxValueBufferLength pour garantir que toutes les commandes peuvent être récupérées avec succès.
[in] maxValueBufferLength
Taille maximale d’une valeur de commande.
[out] valueBufferLength
Taille, en octets, des données écrites dans le paramètre valueBuffer .
Valeur retournée
Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.
Code de retour | Description |
---|---|
|
L’objet ISpatialAudioMetadataItems n’a pas été ouvert pour lecture avec un appel à Open ou l’objet a été fermé pour écriture avec un appel à Fermer. |
|
L’un des pointeurs fournis n’est pas valide. |
Remarques
Avant d’appeler ReadNextItem, vous devez ouvrir ISpatialAudioMetadataReader pour la lecture en appelant Open après la création de l’objet et après l’appel de Close . Vous devez également appeler ReadItemCountInFrames , puis appeler ReadNextItem avant d’appeler ReadNextItem.
ISpatialAudioMetadataReader conserve un pointeur interne vers la position actuelle dans la plage totale de trames contenue par les ISpatialAudioMetadataItems auxquels le lecteur est associé. À chaque appel à cette méthode, le pointeur est avancé par le nombre de trames spécifié dans le paramètre readFrameCount .
Le processus de lecture des commandes et des valeurs associées est récursif. Après chaque appel à ReadItemCountInFrames, appelez ReadNextItem pour obtenir le nombre de commandes dans l’élément suivant. Après chaque appel à ReadNextItem, appelez ReadNextItemCommand pour lire chaque commande de l’élément. Répétez ce processus jusqu’à ce que toute la plage de trames de ISpatialAudioMetadataItems ait été lue.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | spatialaudiometadata.h |