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

# XApuConnectInputParameters

> XApuConnectInputParameters

# XApuConnectInputParameters

传递给 [XApuConnect](/reference/audio/xapu/functions/xapuconnect) 用于分配资源的参数。

## Syntax

```cpp theme={null}
typedef struct XApuConnectInputParameters {  
    XApuProcessType processType;  
    uint32_t maxStreamCount;  
    uint32_t maxQueuedCommandsPerStream;  
    uint32_t baseDataLength;  
    uint32_t maxFrameCountPerOutput;  
    XApuConnectOptions options;  
} XApuConnectInputParameters  
```

### Members

*processType*\
Type: [XApuProcessType](/reference/audio/xapu/enums/xapuprocesstype)

将对 XAPU 客户端处理的所有流执行的处理类型。单个客户端不能执行多种处理类型。

*maxStreamCount*\
Type: uint32\_t

预期同时为 XAPU 客户端激活的流的最大数量。最小值为 1,最大值为 500。

*maxQueuedCommandsPerStream*\
Type: uint32\_t

一个流的命令队列大小。最小值为 1,最大值为 16。XAPU 客户端的总命令队列大小为 *maxStreamCount* \* *maxQueuedCommandsPerStream*。

*baseDataLength*\
Type: uint32\_t

处理 *maxStreamCount* 个流所需的内存分配(以字节为单位),其中包括输入、输出和处理缓冲区。
例如,对于一个具有 20 毫秒数据包(960 帧)的立体声 Opus 流的 DecodeOpus 场景,*baseDataLength* 可以是:
最大预期输入数据包长度(以字节为单位)加上输出帧数乘以通道数乘以 float 变量的大小。

对于 XApuProcessType::DecodeOpus,通用公式为:

baseDataLength = maxStreamCount x maxQueuedCommandsPerStream x (MaxOpusPacketInBytes + (MaxFrameCountPerPacket x ChannelCount x sizeof(float))
其中 *MaxFrameCountPerPacket* 应为 16 的倍数

对于 [XApuProcessType::DecodeConvertOpus](/reference/audio/xapu/enums/xapuprocesstype),通用公式为:
baseDataLength = (maxStreamCount x maxQueuedCommandsPerStream x (MaxOpusPacketInBytes + (MaxFrameCountPerPacket x ChannelCount x sizeof(float)))

* (maxStreamCount x XApuDecodeConvertActivateCommand::processingBufferLength)
  其中 *MaxFrameCountPerPacket* 应为 16 的倍数

*maxFrameCountPerOutput*\
Type: uint32\_t

此参数定义当 XAPU 以 [XApuProcessType::ConvertPCM](/reference/audio/xapu/enums/xapuprocesstype) 或 [XApuProcessType::DecodeConvertOpus](/reference/audio/xapu/enums/xapuprocesstype) 类型运行时的输出时长(以帧数表示)。
对于 [XApuProcessType::ConvertPCM](/reference/audio/xapu/enums/xapuprocesstype) 或 [XApuProcessType::DecodeConvertOpus](/reference/audio/xapu/enums/xapuprocesstype),此参数必须设置为以下值之一:256、480、512、960、1024。
对于 [XApuProcessType::DecodeOpus](/reference/audio/xapu/enums/xapuprocesstype),此参数必须设置为零。

*options*\
Type: [XApuConnectOptions](/reference/audio/xapu/enums/xapuconnectoptions)

连接选项。

## Remarks

`XApuConnectInputParameters` 使用它向 `XApuConnect` 传递参数。`XApuConnect` 为音频处理单元 (XAPU) 分配所需资源。`XApuCommandId` 定义了要发送到 XAPU 或从 XAPU 接收的基本命令参数。

## Requirements

**头文件:** xapu.h

**支持的平台:** XBOX Series X|S

## See also

[XApuCommandId](/reference/audio/xapu/structs/xapucommandid)\
[XApuConnect](/reference/audio/xapu/functions/xapuconnect)\
[XApuDecodeConvertCommand](/reference/audio/xapu/structs/xapudecodeconvertcommand)\
[XAPU](/reference/audio/xapu/xapu_members)


## Related topics

- [XApuConnectOptions](/zh-CN/reference/audio/xapu/enums/xapuconnectoptions.md)
- [XApuConnect](/zh-CN/reference/audio/xapu/functions/xapuconnect.md)
- [XApuProcessType](/zh-CN/reference/audio/xapu/enums/xapuprocesstype.md)
- [XApuDecodeConvertActivateCommand](/zh-CN/reference/audio/xapu/structs/xapudecodeconvertactivatecommand.md)
- [XAPU](/zh-CN/reference/audio/xapu/xapu_members.md)
