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

# XApuConnectInputParameters

> XApuConnectInputParameters

# XApuConnectInputParameters

傳遞給 [XApuConnect](https://docs.xbox.com/zh-TW/reference/audio/xapu/functions/xapuconnect.md) 以配置資源的參數。

## 語法

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

### 成員

*processType*\
類型：[XApuProcessType](https://docs.xbox.com/zh-TW/reference/audio/xapu/enums/xapuprocesstype.md)

將對 XAPU 用戶端處理的所有串流執行的處理類型。單一用戶端無法執行一種以上的處理類型。

*maxStreamCount*\
類型：uint32\_t

預期可同時為 XAPU 用戶端啟用的串流數目上限。最小值為 1，最大值為 500

*maxQueuedCommandsPerStream*\
類型：uint32\_t

單一串流的命令佇列大小。最小值為 1，最大值為 16。XAPU 用戶端的命令佇列總大小為 *maxStreamCount* \* *maxQueuedCommandsPerStream*

*baseDataLength*\
類型：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](https://docs.xbox.com/zh-TW/reference/audio/xapu/enums/xapuprocesstype.md)，一般公式為：
baseDataLength = (maxStreamCount x maxQueuedCommandsPerStream x (MaxOpusPacketInBytes + (MaxFrameCountPerPacket x ChannelCount x sizeof(float)))

* (maxStreamCount x XApuDecodeConvertActivateCommand::processingBufferLength)
  其中 *MaxFrameCountPerPacket* 應為 16 的倍數

*maxFrameCountPerOutput*\
類型：uint32\_t

當 XAPU 以 [XApuProcessType::ConvertPCM](https://docs.xbox.com/zh-TW/reference/audio/xapu/enums/xapuprocesstype.md) 或 [XApuProcessType::DecodeConvertOpus](https://docs.xbox.com/zh-TW/reference/audio/xapu/enums/xapuprocesstype.md) 類型執行時，此參數會以框架數目定義輸出持續時間。
對於 [XApuProcessType::ConvertPCM](https://docs.xbox.com/zh-TW/reference/audio/xapu/enums/xapuprocesstype.md) 或 [XApuProcessType::DecodeConvertOpus](https://docs.xbox.com/zh-TW/reference/audio/xapu/enums/xapuprocesstype.md)，此參數必須設定為下列其中一個值：256、480、512、960、1024。
對於 [XApuProcessType::DecodeOpus](https://docs.xbox.com/zh-TW/reference/audio/xapu/enums/xapuprocesstype.md)，此參數必須設定為零

*options*\
類型：[XApuConnectOptions](https://docs.xbox.com/zh-TW/reference/audio/xapu/enums/xapuconnectoptions.md)

連線選項。

## 備註

由 `XApuConnectInputParameters` 用來將參數傳遞給 `XApuConnect`。`XApuConnect` 會為音訊處理單元 (XAPU) 配置必要的資源。`XApuCommandId` 定義要傳送至 XAPU 及從 XAPU 接收的基本命令參數。

## 需求

**標頭：** xapu.h

**支援的平台：** XBOX Series X|S

## 另請參閱

[XApuCommandId](https://docs.xbox.com/zh-TW/reference/audio/xapu/structs/xapucommandid.md)\
[XApuConnect](https://docs.xbox.com/zh-TW/reference/audio/xapu/functions/xapuconnect.md)\
[XApuDecodeConvertCommand](https://docs.xbox.com/zh-TW/reference/audio/xapu/structs/xapudecodeconvertcommand.md)\
[XAPU](https://docs.xbox.com/zh-TW/reference/audio/xapu/xapu_members.md)


## Related topics

- [XApuConnectOptions](https://docs.xbox.com/zh-TW/reference/audio/xapu/enums/xapuconnectoptions.md)
- [XApuConnect](https://docs.xbox.com/zh-TW/reference/audio/xapu/functions/xapuconnect.md)
- [XApuProcessType](https://docs.xbox.com/zh-TW/reference/audio/xapu/enums/xapuprocesstype.md)
- [XApuDecodeConvertActivateCommand](https://docs.xbox.com/zh-TW/reference/audio/xapu/structs/xapudecodeconvertactivatecommand.md)
- [XAPU](https://docs.xbox.com/zh-TW/reference/audio/xapu/xapu_members.md)
