Skip to main content

SetShapeDmaCommand

初始化 SHAPE DMA 命令。

語法

參數

command   _Inout_
類型:SHAPE_FLOWGRAPH_COMMAND*
要初始化的 SHAPE_FLOWGRAPH_COMMAND 命令。 contextId   
類型:UINT32
此命令將參考的 DMA 內容識別碼 (也就是索引)。 mixBuffer   
類型:UINT32
要讀取或寫入的混音緩衝區,視 writeToMemory 旗標的設定而定。 writeToMixBuffer   
類型:bool
如果 DMA 命令要寫入指定的混音緩衝區並從主記憶體讀取,則為 True。如果 DMA 命令要從指定的混音緩衝區讀取並寫入主記憶體,則為 False。

傳回值

類型:HRESULT 如果函式成功,會傳回 S_OK。如果一或多個引數無效,函式會傳回 E_INVALIDARG。

備註

直接記憶體存取 (DMA) 系統支援讀取和寫入功能,並可自動進行浮點數轉整數及整數轉浮點數的轉換。DMA 系統使用環形緩衝區,其中包含以 128 個取樣為一區塊的非交錯取樣。 DMA 處理器可讓可調整硬體音訊處理引擎 (SHAPE) 將資料從混音緩衝區傳送到主系統記憶體,並從主系統擷取資料到混音緩衝區以供進一步處理。DMA 是以區塊為單位進行,一次傳輸一個音訊框架的資料。為了啟用區塊交錯資料,略過值會指定在讀取或寫入取樣時,要從基底位址略過系統記憶體中的多少個音訊框架區塊。多聲道串流的每個聲道都需要一個 DMA 內容。音訊資料取樣一律以 32 位元值 (整數或浮點數) 讀取和寫入,如 DMA 內容的 floatConvert 旗標所指定。
DMA 的方向 (讀取或寫入) 是在 DMA 命令中指定,而不是在 DMA 內容中指定。這有助於減少資料頻寬量。DMA 引擎沒有訊號處理功能,但可以執行浮點數轉整數或整數轉浮點數的轉換。這可讓應用程式 CPU 以浮點格式處理資料取樣。

需求

標頭: shapeflowgraph.h 支援的平台: XBOX One 系列主機與 XBOX Series 主機

另請參閱

ACP 概觀 SHAPE 概觀 shapeflowgraph
Last modified on October 6, 2026