> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SetShapePcmReadPointer

> SetShapePcmReadPointer

# SetShapePcmReadPointer

Définit le pointeur de lecture.

## Syntaxe

```cpp theme={null}
HRESULT SetShapePcmReadPointer(  
         SHAPE_PCM_CONTEXT* context,  
         UINT32 readPointerInSamples  
)  
```

### Paramètres

*context*   \_Inout\_\
Type : [SHAPE\_PCM\_CONTEXT\*](/fr-CA/reference/audio/shapepcmcontext/structs/shape_pcm_context)

Pointeur vers une structure [SHAPE\_PCM\_CONTEXT](/fr-CA/reference/audio/shapepcmcontext/structs/shape_pcm_context).

*readPointerInSamples*   \
Type : UINT32

Pointeur de lecture en échantillons. Ce pointeur traite deux échantillons stéréo de 16 bits comme un seul échantillon de 32 bits.

### Valeur de retour

Type : HRESULT

Code de réussite ou d'erreur HRESULT.

## Remarques

Vous pouvez éviter le blocage des commandes d'accès direct à la mémoire (DMA) en vous assurant que votre tampon audio est suffisamment grand et que les données sont diffusées à intervalles réguliers en fonction de la taille du tampon. Par exemple, si vous diffusez quatre trames matérielles à la fois, assurez-vous qu'un multiple de ces trames (au moins un double tampon de huit) se trouve dans le tampon afin que le matériel puisse écrire en avance sur le pointeur de lecture du titre. Vous pouvez aussi imposer le vidage du tampon avant de soumettre le graphe de flux suivant (consommer, mettre à jour le pointeur de lecture DMA, puis soumettre le graphe de flux).

Démarrez la voix à l'aide de la constante `SHAPE_SRC_COMMAND_TYPE_START` pour le SRC. Continuez à diffuser des données, en mettant à jour le pointeur d'écriture du contexte PCM, jusqu'à ce que vous vouliez arrêter. Utilisez la constante `SHAPE_SRC_COMMAND_TYPE_STOP_END` pour laisser le SRC jouer jusqu'au pointeur d'écriture PCM actuel `loopStartWritePointer`, ou `SHAPE_SRC_COMMAND_TYPE_STOP_IMMEDIATE` pour arrêter immédiatement. Pour plus d'informations, consultez l'énumération [SHAPE\_SRC\_COMMAND\_TYPE](/fr-CA/reference/audio/shapesrccontext/enums/shape_src_command_type).

## Configuration requise

**En-tête :** shapepcmcontext.h

**Plateformes prises en charge :** consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[Vue d'ensemble de l'ACP](/fr-CA/build/console-features/audio/overviews/acp-overview)\
[Vue d'ensemble de Shape](/fr-CA/build/console-features/audio/overviews/shape-overview)\
[shapepcmcontext](/fr-CA/reference/audio/shapepcmcontext/shapepcmcontext_members)


## Related topics

- [ShapePcmContext](/fr-CA/reference/audio/shapepcmcontext/shapepcmcontext_members.md)
- [GetShapePcmReadPointer](/fr-CA/reference/audio/shapepcmcontext/functions/getshapepcmreadpointer.md)
- [SetShapePcmLoopStartOrWritePointer](/fr-CA/reference/audio/shapepcmcontext/functions/setshapepcmloopstartorwritepointer.md)
- [SetShapeDmaReadPointer](/fr-CA/reference/audio/shapedmacontext/functions/setshapedmareadpointer.md)
- [SHAPE_PCM_CONTEXT](/fr-CA/reference/audio/shapepcmcontext/structs/shape_pcm_context.md)
