Skip to main content

SetShapeDmaChannel

Define o canal atual.

Sintaxe

Parâmetros

context   _Inout_
Tipo: SHAPE_DMA_CONTEXT*
Ponteiro para uma estrutura SHAPE_DMA_CONTEXT. channel   
Tipo: UINT32
O número de um canal no buffer de áudio.

Valor retornado

Tipo: HRESULT Código de êxito ou de erro HRESULT.

Comentários

Os números de canal são baseados em zero. O sistema de Direct Memory Access (DMA) oferece suporte à funcionalidade de leitura e gravação com conversão automática de float para inteiro e de inteiro para float. O sistema de DMA usa buffers circulares que contêm amostras desintercaladas em blocos de 128 amostras. O processador de DMA permite que o Scalable Hardware Audio Processing Engine (SHAPE) envie dados dos buffers de mixagem para a memória principal do sistema e recupere dados do sistema principal para os buffers de mixagem para processamento adicional. O DMA é feito por bloco, transferindo um quadro de áudio de dados por vez. Para facilitar dados intercalados em blocos, um valor de salto especifica o número de blocos de quadros de áudio na memória do sistema a serem ignorados (a partir do endereço base) ao ler ou gravar amostras. Portanto, fluxos multicanal exigem um contexto de DMA por canal. As amostras de dados de áudio são sempre lidas e gravadas como valores de 32 bits, inteiros ou float, conforme especificado no sinalizador floatConvert da estrutura SHAPE_DMA_CONTEXT. Observe que a direção do DMA (leitura ou gravação) é especificada no comando de DMA, não no contexto de DMA. Isso ajuda a reduzir a quantidade de largura de banda de dados. O mecanismo de DMA não faz processamento de sinal, mas pode realizar conversão de float para inteiro (ou de inteiro para float). Isso permite que a CPU do aplicativo processe amostras de dados em formato de ponto flutuante. Para calcular o tamanho de um buffer de DMA, use a seguinte fórmula:
Os ponteiros de leitura e gravação são incrementados da seguinte forma:
Os endereços dentro do buffer de áudio são calculados da seguinte forma:

Requisitos

Cabeçalho: shapedmacontext.h Plataformas compatíveis: consoles da família XBOX One e consoles XBOX Series

Confira também

Visão geral do SHAPE
ShapeDmaContext
Last modified on October 6, 2026