> ## 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

Define o ponteiro de leitura.

## Sintaxe

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

### Parâmetros

*context*   \_Inout\_\
Tipo: [SHAPE\_PCM\_CONTEXT\*](/pt-BR/reference/audio/shapepcmcontext/structs/shape_pcm_context)

Ponteiro para uma estrutura [SHAPE\_PCM\_CONTEXT](/pt-BR/reference/audio/shapepcmcontext/structs/shape_pcm_context).

*readPointerInSamples*   \
Tipo: UINT32

Ponteiro de leitura em amostras. Esse ponteiro trata duas amostras estéreo de 16 bits como uma única amostra de 32 bits.

### Valor retornado

Tipo: HRESULT

Código de sucesso ou erro HRESULT.

## Comentários

Você pode evitar comandos de Direct Memory Access (DMA) bloqueados garantindo que o buffer de áudio seja suficientemente grande e que os dados sejam transmitidos em intervalos regulares relacionados ao tamanho do buffer. Por exemplo, se você estiver transmitindo quatro quadros de hardware por vez, garanta que algum múltiplo desses quadros (pelo menos em buffer duplo, com oito) esteja no buffer para que o hardware possa gravar à frente do ponteiro de leitura do título. Como alternativa, você pode impor o esvaziamento do buffer antes de enviar o próximo flowgraph (consumir, atualizar o ponteiro de leitura de DMA e depois enviar o flowgraph).

Inicie a voz usando a constante `SHAPE_SRC_COMMAND_TYPE_START` para o SRC. Continue transmitindo dados, atualizando o ponteiro de gravação do contexto PCM, até que você queira parar. Use a constante `SHAPE_SRC_COMMAND_TYPE_STOP_END` para permitir que o SRC reproduza até o ponteiro de gravação PCM atual `loopStartWritePointer`, ou `SHAPE_SRC_COMMAND_TYPE_STOP_IMMEDIATE` para parar imediatamente. Para obter mais informações, confira a enumeração [SHAPE\_SRC\_COMMAND\_TYPE](/pt-BR/reference/audio/shapesrccontext/enums/shape_src_command_type).

## Requisitos

**Cabeçalho:** shapepcmcontext.h

**Plataformas compatíveis:** consoles da família XBOX One e consoles XBOX Series

## Confira também

[Visão geral do ACP](/pt-BR/build/console-features/audio/overviews/acp-overview)\
[Visão geral do SHAPE](/pt-BR/build/console-features/audio/overviews/shape-overview)\
[shapepcmcontext](/pt-BR/reference/audio/shapepcmcontext/shapepcmcontext_members)


## Related topics

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