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

# XAudio2XMAEncoder

> XAudio2XMAEncoder

將輸入串流編碼為 XMA 格式。

<a id="syntaxSection" />

## 語法

```cpp theme={null}
HRESULT XAudio2XMAEncoder(
         DWORD InputStreamCount,
         const XMAENCODERSTREAM *pStreams,
         DWORD Compression,
         DWORD Flags,
         DWORD BlockSizeInKbytes,
         VOID **ppEncodedBuffer,
         DWORD *pEncodedBufferSize,
         XMA2WAVEFORMATEX **ppEncodedBufferFormat,
         DWORD *pEncodedBufferFormatSize,
         DWORD **ppSeekTable,
         DWORD *pSeekTableSize)  
```

<a id="ID4EG" />

### 參數

*InputStreamCount*
類型:DWORD

輸入串流的數目。

*pStreams*
類型:XMAENCODERSTREAM \*

輸入串流的指標。

*Compression*
類型:DWORD

要使用的 XMA2 壓縮品質等級 (1 到 100)。

*Flags*
類型:DWORD

零,或下列一或多個旗標。

| 旗標 | 值 | 描述 |
| - | - | - |
| XMAENCODER\_LOOP | 0x00000001 | 如果有迴圈點則使用迴圈點,並重新取樣波形,讓迴圈點對齊 128 個樣本的邊界。如果沒有迴圈點,則從頭到尾迴圈播放波形,並重新取樣波形,讓波形的迴圈終點 \[完整長度] 對齊 128 個樣本的邊界。 |
| XMAENCODER\_NOFILTER | 0x00000002 | 設定為不進行篩選。 |
| XMAENCODER\_DECODEFROMXMA | 0x00000004 | 記憶體內編碼器不支援。 |
| XMAENCODER\_VERBOSE | 0x00000008 | 啟用偵錯輸出。 |
| XMAENCODER\_PACKSTREAMS | 0x00000010 | 將聲道封裝成盡可能少的串流。 |

*BlockSizeInKbytes*
類型:DWORD

要使用的 XMA2 壓縮區塊大小,以 KB 為單位 (2 到 8190)。此值不能為零。

*ppEncodedBuffer*
類型:VOID \*\*

指向緩衝區指標的指標,該緩衝區用於包含編碼的資料。

*pEncodedBufferSize*
類型:DWORD \*

指向 DWORD 的指標,用於包含編碼緩衝區的大小。

*ppEncodedBufferFormat*
類型:XMA2WAVEFORMATEX \*\*

指向結構指標的指標,該結構用於包含編碼串流的格式詳細資料。

*pEncodedBufferFormatSize*
類型:DWORD \*

指向 DWORD 的指標,用於包含格式結構的大小。

*ppSeekTable*
類型:DWORD \*\*

指向指標的指標,用於包含搜尋表。

*pSeekTableSize*
類型:DWORD \*

指向 DWORD 的指標,用於包含搜尋表的大小。

<a id="ID4EO" />

### 傳回值

類型:HRESULT

如果成功,會傳回 S\_OK;否則會傳回下表中的錯誤碼。

| 錯誤碼 | 實作 | 描述 |
| - | - | - |
| XMAENCODER\_E\_OUTOFMEMORY | E\_OUTOFMEMORY | 記憶體不足。 |
| XMAENCODER\_E\_INVALIDARG | E\_INVALIDARG | 無效的引數。 |
| XMAENCODER\_E\_NOTIMPL | E\_NOTIMPL | 未實作。 |
| XMAENCODER\_E\_FAIL | E\_FAIL | 未知的錯誤。 |
| XMAENCODER\_E\_INVALIDLOOP | XMAENCODERERROR(0x001) | 迴圈點無效。 |
| XMAENCODER\_E\_UNSUPPORTEDFORMAT | XMAENCODERERROR(0x002) | 格式無效。 |
| XMAENCODER\_E\_OUTOFRANGE | XMAENCODERERROR(0x003) | 參數超出有效範圍。 |
| XMAENCODER\_E\_READFAILED | XMAENCODERERROR(0x004) | 讀取作業失敗。 |
| XMAENCODER\_E\_INVALIDFRAME | XMAENCODERERROR(0x005) | 無效的 XMA 框架。 |
| XMAENCODER\_E\_INCOMPLETEFRAME | XMAENCODERERROR(0x006) | 不完整的 XMA 框架。 |
| XMAENCODER\_E\_ZEROSTUFFINGBIT | XMAENCODERERROR(0x007) | 填充位元為零。 |
| XMAENCODER\_E\_GETDATAFAILED | XMAENCODERERROR(0x008) | 資料擷取失敗。 |

<a id="requirements" />

## 需求

**標頭:** xmaencoder.h

**程式庫:** xmaencoder.lib

## 另請參閱

[XMA2 編碼器工具](/zh-TW/build/console-features/audio/tools/xma2encodertool)


## Related topics

- [XMA2encoder 函式](/zh-TW/build/console-features/audio/tools/xma2encoder/tech-xmaencoder-funcs.md)
- [XMA2 編碼器參考資訊](/zh-TW/build/console-features/audio/tools/xma2encoder/atoc-xmaencoder.md)
- [XMA2 編碼器工具](/zh-TW/build/console-features/audio/tools/xma2encodertool.md)
- [XWMAEncoder](/zh-TW/build/console-features/audio/tools/xwmaencoder/methods/xwmaencoder-xwmaencoder-xbox-microsoft-m.md)
- [XAudio2CreateWithSharedContexts](/zh-TW/reference/audio/xaudio2xbox/functions/xaudio2createwithsharedcontexts.md)
