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

# SetShapeDmaAudioBuffer

> SetShapeDmaAudioBuffer

# SetShapeDmaAudioBuffer

DMA オーディオ バッファーを設定します。これはオーバーロードされた関数です。一方の関数は仮想ポインターを受け取り、もう一方は物理アドレスを受け取ります。

## 構文

```cpp theme={null}
HRESULT SetShapeDmaAudioBuffer(  
         SHAPE_DMA_CONTEXT* context,  
         APU_ADDRESS audioBuffer  
)  
```

### パラメーター

*context*   \_Inout\_\
型: [SHAPE\_DMA\_CONTEXT\*](/reference/audio/shapedmacontext/structs/shape_dma_context)

[SHAPE\_DMA\_CONTEXT](/reference/audio/shapedmacontext/structs/shape_dma_context) 構造体へのポインター。

*audioBuffer*   \_In\_\
型: APU\_ADDRESS

バッファーの物理アドレス。

### 戻り値

型: HRESULT

HRESULT の成功またはエラー コード。

## 解説

オーディオ バッファーが十分に大きく、データがバッファー サイズに応じた一定間隔でストリーミングされるようにすることで、Direct Memory Access (DMA) コマンドのブロックを防ぐことができます。たとえば、一度に 4 個のハードウェア フレームをストリーミングしている場合、そのフレームの倍数 (少なくとも 8 フレームでダブル バッファリング) をバッファーに確保し、タイトルの読み取りポインターより先行してハードウェアが書き込めるようにしてください。あるいは、次のフローグラフを送信する前にバッファーを空にすること (消費、DMA 読み取りポインターの更新、その後フローグラフの送信) を強制することもできます。詳細については、[SHAPE の概要](/build/console-features/audio/overviews/shape-overview) の [Blocked commands](/build/console-features/audio/overviews/shape-overview#ID4EBGAC) を参照してください。

## 要件

**ヘッダー:** shapedmacontext.h

**サポートされるプラットフォーム:** XBOX One ファミリ本体および XBOX Series 本体

## 関連項目

[ShapeDmaContext](/reference/audio/shapedmacontext/shapedmacontext_members)


## Related topics

- [SetShapeDmaAudioBuffer 関数](/ja-jp/reference/audio/shapedmacontext/functions/setshapedmaaudiobuffer.md)
- [ShapeDmaContext](/ja-jp/reference/audio/shapedmacontext/shapedmacontext_members.md)
- [SetShapeDmaBufferFull](/ja-jp/reference/audio/shapedmacontext/functions/setshapedmabufferfull.md)
- [GetShapeDmaAudioBuffer](/ja-jp/reference/audio/shapedmacontext/functions/getshapedmaaudiobuffer.md)
- [SetShapePcmAudioBuffer](/ja-jp/reference/audio/shapepcmcontext/functions/setshapepcmaudiobuffer_2.md)
