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

# XMA2WAVEFORMATEX

> XMA2WAVEFORMATEX

# XMA2WAVEFORMATEX

A maneira recomendada de expressar as informações de formato para arquivos XMA2.

## Sintaxe

```cpp theme={null}
typedef struct XMA2WAVEFORMATEX {  
    WAVEFORMATEX wfx;  
    WORD NumStreams;  
    DWORD ChannelMask;  
    DWORD SamplesEncoded;  
    DWORD BytesPerBlock;  
    DWORD PlayBegin;  
    DWORD PlayLength;  
    DWORD LoopBegin;  
    DWORD LoopLength;  
    BYTE LoopCount;  
    BYTE EncoderVersion;  
    WORD BlockCount;  
} XMA2WAVEFORMATEX  
```

### Membros

*wfx*\
Tipo: WAVEFORMATEX

Uma estrutura WAVEFORMATEX.

*NumStreams*\
Tipo: WORD

Número de fluxos de áudio: 1 ou 2 canais cada.

*ChannelMask*\
Tipo: DWORD

Posições espaciais dos canais neste arquivo. Consulte as macros XMA\_SPEAKER\*.

*SamplesEncoded*\
Tipo: DWORD

Número total de amostras PCM em que o arquivo é decodificado.

*BytesPerBlock*\
Tipo: DWORD

Tamanho do bloco XMA. O último bloco pode ser menor.

*PlayBegin*\
Tipo: DWORD

Primeira amostra válida no áudio decodificado.

*PlayLength*\
Tipo: DWORD

Comprimento da parte válida do áudio decodificado.

*LoopBegin*\
Tipo: DWORD

Início do loop em amostras decodificadas.

*LoopLength*\
Tipo: DWORD

Comprimento do loop  em amostras decodificadas.

*LoopCount*\
Tipo: BYTE

Número de repetições do loop; 255 = infinito.

*EncoderVersion*\
Tipo: BYTE

Versão do codificador XMA que gerou o arquivo.

*BlockCount*\
Tipo: WORD

Número de blocos XMA em um arquivo, que também é o número de entradas em sua tabela de busca.

## Comentários

Essa estrutura é totalmente compatível com o padrão *WAVEFORMATEX* e contém todas as informações necessárias para analisar e gerenciar arquivos *XMA2* de maneira compacta.

O formato XMA2 é compatível com o XBOX 360, e a tabela de busca precisa ter os bytes ULONG trocados para o XBOX One. Se a entrada for um arquivo *WAVE*, a saída poderá ser usada sem alteração. Para trocar os bytes da tabela de busca, use as linhas de código a seguir.

```
        for(UINT32 i = 0;(i < xmaformat->BlockCount);i++)
        {
           rgpXMASeekTable[i] = _byteswap_ulong(rgpXMASeekTable[i]);
        } 
```

Considere adicionar linhas de código ao seu aplicativo para testar a funcionalidade e, talvez, escrever uma ferramenta separada para realizar a troca, de modo que nenhum pré-processamento seja exigido do seu aplicativo.

## Requisitos

**Cabeçalho:** xma2defs.h

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

## Documentação conceitual

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

## Confira também

[Visão geral do XMA2](/pt-BR/build/console-features/audio/overviews/xma2-overview)

[XMA2WAVEFORMAT](/pt-BR/reference/audio/xma2defs/structs/xma2waveformat)

[XMA2WAVEFORMATEX](/pt-BR/reference/audio/xma2defs/structs/xma2waveformatex)

[xma2defs](/pt-BR/reference/audio/xma2defs/xma2defs_members)


## Related topics

- [XMA2Defs](/pt-BR/reference/audio/xma2defs/xma2defs_members.md)
- [Visão geral do XMA2](/pt-BR/build/console-features/audio/overviews/xma2-overview.md)
- [LocalizeXma2Format](/pt-BR/reference/audio/xma2defs/functions/localizexma2format.md)
- [XAudio2XMAEncoder](/pt-BR/build/console-features/audio/tools/xma2encoder/methods/xaudio2xmaencoder-xmaencoder-xbox-microsoft-m.md)
- [XMA2WAVEFORMAT](/pt-BR/reference/audio/xma2defs/structs/xma2waveformat.md)
