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

# SetShapeAllocMixBufferCommand

> SetShapeAllocMixBufferCommand

# SetShapeAllocMixBufferCommand

分配一个虚拟混音缓冲区。

## 语法

```cpp theme={null}
HRESULT SetShapeAllocMixBufferCommand(  
         SHAPE_FLOWGRAPH_COMMAND* command,  
         UINT32 virtualId,  
         UINT32 numIn,  
         UINT32 numOut,  
         SHAPE_MIXBUFFER_ATTENUATION attenuation  
)  
```

### 参数

*command*   \_Inout\_\
类型:SHAPE\_FLOWGRAPH\_COMMAND\*

要初始化的 [SHAPE\_FLOWGRAPH\_COMMAND](/reference/audio/shapeflowgraph/structs/shape_flowgraph_command) 命令。

*virtualId*   \
类型:UINT32

混音缓冲区的虚拟 ID,范围为 0 到 8191(包含)。每个已分配的混音缓冲区必须具有唯一的虚拟 ID。

*numIn*   \
类型:UINT32

输入到该混音缓冲区的输入数量。此值指定将向该混音缓冲区输出的可扩展硬件音频处理引擎(SHAPE)模块的数量。

*numOut*   \
类型:UINT32

来自该混音缓冲区的输出数量。此值指定将从该混音缓冲区读取的 SHAPE 模块的数量。

*attenuation*   \
类型:SHAPE\_MIXBUFFER\_ATTENUATION

[SHAPE\_MIXBUFFER\_ATTENUATION](/reference/audio/shapeflowgraph/enums/shape_mixbuffer_attenuation) 枚举的一个成员。此值指定应用于该混音缓冲区所有输入的 dB 衰减。

### 返回值

类型:HRESULT

如果函数成功,则返回 `S_OK`。如果一个或多个参数无效,函数返回 `E_INVALIDARG`。

## 注解

所有混音缓冲区都是单声道(mono)的,并且必须在使用前分配。虽然物理混音缓冲区共有 128 个,但可用的虚拟混音缓冲区多达 8192 个。物理混音缓冲区可以重用,但虚拟混音缓冲区不能。

执行列表使用虚拟 ID 来分配混音缓冲区。仅当执行分配命令时,物理混音缓冲区才会绑定到给定的虚拟 ID。使用给定虚拟 ID 的后续命令将被定向到已分配的物理混音缓冲区。分配命令由 SHAPE 处理器分派到混音缓冲区模块,由该模块执行虚拟 ID 到物理混音缓冲区的绑定。

许多游戏不直接实现流图。[XAudio2](/build/console-features/audio/overviews/xma2-overview) 和音频中间件会隐式地实现 SHAPE 组件。然而,构建流图能够提供最大的灵活性,并可访问 XBOX One 主机的音频加速功能。

## 要求

**头文件:** shapeflowgraph.h

**支持的平台:** XBOX One 系列主机和 XBOX Series 主机

## 另请参阅

[ACP 概述](/build/console-features/audio/overviews/acp-overview)

[SHAPE 概述](/build/console-features/audio/overviews/shape-overview)

[shapeflowgraph](/reference/audio/shapeflowgraph/shapeflowgraph_members)


## Related topics

- [SHAPE_FLOWGRAPH_COMMAND_TYPE](/zh-CN/reference/audio/shapeflowgraph/enums/shape_flowgraph_command_type.md)
- [ShapeFlowGraph](/zh-CN/reference/audio/shapeflowgraph/shapeflowgraph_members.md)
- [SHAPE_FLOWGRAPH_ALLOC_MIXBUFFER_COMMAND](/zh-CN/reference/audio/shapeflowgraph/structs/shape_flowgraph_alloc_mixbuffer_command.md)
- [SHAPE_FLOWGRAPH_COMMAND](/zh-CN/reference/audio/shapeflowgraph/structs/shape_flowgraph_command.md)
- [SetShapeEqCompCommand](/zh-CN/reference/audio/shapeflowgraph/functions/setshapeeqcompcommand.md)
