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

# SHAPE_PCM_CONTEXT

> SHAPE_PCM_CONTEXT

# SHAPE\_PCM\_CONTEXT

A estrutura de contexto PCM.

## Sintaxe

```cpp theme={null}
typedef struct SHAPE_PCM_CONTEXT {
    UINT32 bufferStart : 32;  
    UINT32 bufferLength : 21;  
    UINT32 reserved0 : 11;  
    UINT32 loopCount : 8;  
    UINT32 reserved1 : 8;  
    UINT32 full : 1;  
    UINT32 reserved2 : 15;  
    UINT32 readPointer : 21;  
    UINT32 reserved3 : 11;  
    UINT32 loopStartWritePointer : 21;  
    UINT32 reserved4 : 11;  
    UINT32 loopEnd : 21;  
    UINT32 reserved5 : 11;  
    UINT32 mode : 1;  
    UINT32 reserved6 : 15;  
    UINT32 format : 2;  
    UINT32 reserved7 : 14;  
    UINT32 reserved[1];  
} SHAPE_PCM_CONTEXT  
```

### Membros

*bufferStart*\
Tipo: UINT32

Gravação: buffer de áudio.

*bufferLength*\
Tipo: UINT32

Gravação: comprimento do buffer de áudio em amostras.

*reserved0*\
Tipo: UINT32

Reservado.

*loopCount*\
Tipo: UINT32

Leitura/Gravação: contagem de loops.

*reserved1*\
Tipo: UINT32

Reservado.

*full*\
Tipo: UINT32

Gravação: para buffers circulares, quando *readPointer* é igual a *loopStartWritePointer*: 1 == buffer cheio, 0 == buffer vazio.

*reserved2*\
Tipo: UINT32

Reservado.

*readPointer*\
Tipo: UINT32

Leitura/Gravação: deslocamento alinhado ao quadro, de 128 amostras, em amostras a partir do início do buffer de áudio. Os sete (7) bits inferiores são ignorados.

*reserved3*\
Tipo: UINT32

Reservado.

*loopStartWritePointer*\
Tipo: UINT32

Gravação: deslocamento de amostra não alinhado ao quadro a partir do início do buffer de áudio. Indica o início do loop para buffers lineares ou o ponteiro de gravação para buffers circulares.

*reserved4*\
Tipo: UINT32

Reservado.

*loopEnd*\
Tipo: UINT32

Gravação: deslocamento de amostra não alinhado ao quadro a partir do início do buffer de áudio. Indica o fim do loop. O tamanho mínimo do loop é de 128 amostras.

*reserved5*\
Tipo: UINT32

Reservado.

*mode*\
Tipo: UINT32

Gravação: SHAPE\_PCM\_MODE

*reserved6*\
Tipo: UINT32

Reservado.

*format*\
Tipo: UINT32

Gravação: SHAPE\_PCM\_FORMAT

*reserved7*\
Tipo: UINT32

Reservado.

*reserved*\
Tipo: UINT32\[1]

Reservado.

## Comentários

Os campos marcados como **Gravação** são definidos pelo seu aplicativo e não são alterados pela biblioteca do Audio Control Processor (ACP). Os campos marcados como **Leitura/Gravação** são definidos pelo seu aplicativo, mas podem ser alterados pela biblioteca ACP.

O tamanho de um buffer de Pulse Code Modulation (PCM) depende do formato do buffer. Consulte os comentários de [SHAPE\_PCM\_FORMAT](/pt-BR/reference/audio/shapepcmcontext/enums/shape_pcm_format).

## Requisitos

**Cabeçalho:** shapepcmcontext.h

**Plataformas com suporte:** consoles da família XBOX One e consoles XBOX Series

## Documentação conceitual

* [Visão geral do ACP](/pt-BR/build/console-features/audio/overviews/acp-overview)

## 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)
- [SetShapePcmFormat](/pt-BR/reference/audio/shapepcmcontext/functions/setshapepcmformat.md)
- [SetShapePcmMode](/pt-BR/reference/audio/shapepcmcontext/functions/setshapepcmmode.md)
- [GetShapePcmFormat](/pt-BR/reference/audio/shapepcmcontext/functions/getshapepcmformat.md)
- [GetShapePcmMode](/pt-BR/reference/audio/shapepcmcontext/functions/getshapepcmmode.md)
