Partager via


Méthode ISpatialAudioMetadataWriter::WriteNextItem (spatialaudiometadata.h)

Démarre un nouvel élément de métadonnées au décalage spécifié.

Syntaxe

HRESULT WriteNextItem(
  [in] UINT16 frameOffset
);

Paramètres

[in] frameOffset

Décalage de frame de l’élément dans la plage spécifiée avec le paramètre frameCount sur ActivateSpatialAudioMetadataItems.

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
SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN
L’objet ISpatialAudioMetadataItems n’a pas été ouvert pour écriture avec un appel à Open ou l’objet a été fermé pour écriture avec un appel à Close.
SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE
Le nombre d’éléments écrits dans la session d’écriture est supérieur à la valeur fournie dans le champ MaxMetadataItemCount du SpatialAudioObjectRenderStreamForMetadataActivationParam passé dans ISpatialAudioClient::ActivateSpatialAudioStream.

La valeur frameCount est supérieure à la valeur du paramètre frameCount pour ActivateSpatialAudioMetadataItems et le mode de dépassement de capacité a été défini sur SpatialAudioMetadataWriterOverflow_Fail.

E_INVALIDARG
La valeur de frameOffset n’est pas supérieure à la valeur fournie lors de l’appel précédent à WriteNextItem dans la même session d’écriture.

Remarques

Avant d’appeler WriteNextItem, vous devez ouvrir ISpatialAudioMetadataWriter pour écrire en appelant Open après la création de l’objet et après l’appel de Close . Pendant une session d’écriture délimitée par des appels à Open et Close, la valeur du paramètre frameOffset doit être supérieure à la valeur de l’appel précédent.

Dans une session d’écriture unique, vous ne devez pas utiliser WriteNextItem pour écrire plus d’éléments que la valeur fournie dans le champ MaxMetadataItemCount dans SpatialAudioObjectRenderStreamForMetadataActivationParam passé dans ISpatialAudioClient::ActivateSpatialAudioStream , sinon une erreur SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE se produit.

Si le mode de dépassement de capacité est défini sur SpatialAudioMetadataWriterOverflow_Fail, la valeur du paramètre frameOffset doit être inférieure à la valeur du paramètre frameCount sur ActivateSpatialAudioMetadataItems , sinon une erreur SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE se produit.

Après avoir appelé WriteNextItem, appelez WriteNextItemCommand pour écrire des commandes de métadonnées et des données de valeur pour l’élément.

Configuration requise

   
Plateforme cible Windows
En-tête spatialaudiometadata.h

Voir aussi

ISpatialAudioMetadataWriter