> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SetShapePcmBufferLength

> SetShapePcmBufferLength

# SetShapePcmBufferLength

バッファーの長さをサンプル単位で設定します。

## 構文

```cpp theme={null}
HRESULT SetShapePcmBufferLength(  
         SHAPE_PCM_CONTEXT* context,  
         UINT32 bufferLengthInSamples  
)  
```

### パラメーター

*context*   \_Inout\_\
型: [SHAPE\_PCM\_CONTEXT\*](https://docs.xbox.com/ja-jp/reference/audio/shapepcmcontext/structs/shape_pcm_context.md)

[SHAPE\_PCM\_CONTEXT](https://docs.xbox.com/ja-jp/reference/audio/shapepcmcontext/structs/shape_pcm_context.md) 構造体へのポインター。

*bufferLengthInSamples*   \
型: UINT32

バッファーの長さ (サンプル単位)。

### 戻り値

型: HRESULT

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

## 解説

サンプルレートコンバーター (SRC) ブロックは、システムメモリから 16 ビット、24 ビット、または 32 ビット固定小数点、あるいは 32 ビット浮動小数点の Pulse Code Modulation (PCM) データを読み取り、整数ベースのサンプルレート変換を実行します。出力データはミックスバッファーに書き込まれます。入力データとして、SRC ブロックは XBOX Media Audio (XMA) ハードウェアデコーダーの出力、またはソフトウェアが管理するデータのいずれかを取り込むことができます。SRC ブロックは XMA デコーダーと密接に統合されています。これにより、SRC ブロックはメインメモリを読み取ることなく、XMA デコードバッファーにデコード済み PCM データのサンプルが十分あるかどうかを判断できます。

SRC 処理は通常、楽器のエミュレーション、入力サンプルをソースより 1 オクターブ低くまたは高く変換する処理、あるいはドップラー効果などのエフェクトに使用されます。

SRC はモノラルまたはステレオモードで動作します。PCM データはメモリから読み取られ、サンプルレート変換のために共通の 24 ビット固定小数点形式に変換されます。出力はモードに応じて 1 つまたは 2 つのミックスバッファーに書き込まれます。ステレオデータは、各 32 ビットワードの下位 16 ビットに左チャネル、上位 16 ビットに右チャネルを配置した 16 ビットデータのインターリーブストリームとしてメモリに格納されます。ステレオモードでは、PCM データが読み取られると同時にデインターリーブされます。左チャネルのデータ (偶数番号のサンプル) は処理されて 1 つのミックスバッファーに出力され、右チャネルのデータ (奇数番号のサンプル) はもう 1 つのミックスバッファーに書き込まれます。

## 要件

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

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

## 関連項目

[ACP の概要](https://docs.xbox.com/ja-jp/build/console-features/audio/overviews/acp-overview.md)\
[Shape の概要](https://docs.xbox.com/ja-jp/build/console-features/audio/overviews/shape-overview.md)\
[shapepcmcontext](https://docs.xbox.com/ja-jp/reference/audio/shapepcmcontext/shapepcmcontext_members.md)


## Related topics

- [ShapePcmContext](https://docs.xbox.com/ja-jp/reference/audio/shapepcmcontext/shapepcmcontext_members.md)
- [GetShapePcmBufferLength](https://docs.xbox.com/ja-jp/reference/audio/shapepcmcontext/functions/getshapepcmbufferlength.md)
- [SetShapePcmAudioBuffer](https://docs.xbox.com/ja-jp/reference/audio/shapepcmcontext/functions/setshapepcmaudiobuffer_2.md)
- [SetShapePcmBufferFull](https://docs.xbox.com/ja-jp/reference/audio/shapepcmcontext/functions/setshapepcmbufferfull.md)
- [SetShapePcmAudioBuffer 関数](https://docs.xbox.com/ja-jp/reference/audio/shapepcmcontext/functions/setshapepcmaudiobuffer.md)
