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

> SHAPE_PCM_FORMAT

# SHAPE\_PCM\_FORMAT

PCM 形式の列挙を指定します。

## 構文

```cpp theme={null}
enum SHAPE_PCM_FORMAT    
{  
    SHAPE_PCM_FORMAT_16_BIT_MONO,  
    SHAPE_PCM_FORMAT_16_BIT_STEREO,  
    SHAPE_PCM_FORMAT_32_BIT_MONO,  
    SHAPE_PCM_FORMAT_32_BIT_FLOAT  
}  
```

## 定数

| 定数                                  | 説明                                                                                                          |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| SHAPE\_PCM\_FORMAT\_16\_BIT\_MONO   | 16 ビットモノラル。バッファーサイズは `numSamples * sizeof(INT16)` です。                                                       |
| SHAPE\_PCM\_FORMAT\_16\_BIT\_STEREO | 16 ビットステレオ。読み取り/書き込みポインター上は 1 つの 32 ビットサンプルとして扱われます。バッファーサイズは `numSamples * 2 * sizeof(INT16)` です。          |
| SHAPE\_PCM\_FORMAT\_32\_BIT\_MONO   | 24 ビットまたは 32 ビット整数モノラル。24 ビット左詰め、または下位 8 ビットをマスクした 32 ビットのいずれかです。バッファーサイズは `numSamples * sizeof(INT32)` です。 |
| SHAPE\_PCM\_FORMAT\_32\_BIT\_FLOAT  | 32 ビット浮動小数点モノラル。バッファーサイズは `numSamples * sizeof(FLOAT32)` です。                                                |

## 解説

| 機能          | 説明                                                                                                                                                                                                                                                                                         |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 非ループ線形 PCM  | サンプルレートコンバーター (SRC) 用の `SHAPE_SRC_COMMAND_TYPE_START` 定数を使用してボイスを開始します。ボイスを最後まで再生させるか、任意で `SHAPE_SRC_COMMAND_TYPE_STOP_IMMEDIATE` 定数を使用して途中で停止します。詳細については、[SHAPE\_SRC\_COMMAND\_TYPE](/reference/audio/shapesrccontext/enums/shape_src_command_type) 列挙型を参照してください。                         |
| 無限ループ線形 PCM | Pulse Code Modulation (PCM) コンテキストのループカウント *loopCount* を `SHAPE_PCM_INFINITE_LOOP_COUNT` 定数に設定します。SRC 用に `SHAPE_SRC_COMMAND_TYPE_START` を使用してボイスを開始します。停止させたいときまでボイスを再生させ、ループの終端で `SHAPE_SRC_COMMAND_TYPE_STOP_END` を使用してボイスを再生し切るか、`SHAPE_SRC_COMMAND_TYPE_STOP_IMMEDIATE` を使用して即座に停止します。 |
| 有限ループ線形 PCM | PCM コンテキストのループカウント *loopCount* を終端に設定するか、任意でループの終端で `SHAPE_SRC_COMMAND_TYPE_STOP_END` を使用して停止しボイスを再生し切るか、`SHAPE_SRC_COMMAND_TYPE_STOP_IMMEDIATE` を使用して即座に停止します。                                                                                                                            |
| 循環 PCM      | SRC 用に `SHAPE_SRC_COMMAND_TYPE_START` を使用してボイスを開始します。停止させたいときまで、PCM コンテキストの書き込みポインターを更新しながらデータをストリーミングし続けます。`SHAPE_SRC_COMMAND_TYPE_STOP_END` を使用して SRC を現在の PCM 書き込みポインター `loopStartWritePointer` まで再生させるか、`SHAPE_SRC_COMMAND_TYPE_STOP_IMMEDIATE` を使用して即座に停止します。                         |

入力サンプル形式:\\

<img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/reference/pcm_format.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=58f4b6bb7fadd542a8c9a337cd729ba2" alt="サポートされている 4 種類の PCM 入力サンプル形式それぞれのビット割り当てを示す図。" width="740" height="357" data-path="images/gdk/reference/pcm_format.png" />

## 要件

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

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

## 関連項目

[ACP の概要](/build/console-features/audio/overviews/acp-overview)\
[Shape の概要](/build/console-features/audio/overviews/shape-overview)\
[shapepcmcontext](/reference/audio/shapepcmcontext/shapepcmcontext_members)
