XAPO 概觀

XAPO API 允許在 Windows 和 Xbox 360 上使用的跨平臺音訊處理物件 (XAPO) 。 XAPO 是一個物件,會接受傳入的音訊資料,並在傳遞資料之前,先對資料執行一些作業。 您可以使用 XAPO 來執行各種工作,包括將殘響新增至音訊串流和監視尖峰音量層級。

建立新的 XAPO

XAPO API 提供 IXAPO 介面和 CXAPOBase 類別來建置新的 XAPO 類型。 IXAPO介面包含所有需要實作以建立新 XAPO 的方法。 CXAPOBase類別提供IXAPO介面的基本實作。 CXAPOBase 會實作所有 IXAPO 介面方法,但 IXAPO::P rocess 方法除外,每個 XAPO 都是唯一的。

如需建立新 XAPO 的範例,請參閱 如何:建立 XAPO

如需建立接受執行時間參數的 XAPO 範例,請參閱 如何:將執行時間參數支援新增至 XAPO

XAPOs 和 COM

XAPOs 會實作 IUnknown 介面。 IXAPO 和IXAPOParameters介面包含三IUnknown方法:QueryInterfaceAddRefReleaseCXAPOBase 提供三個 IUnknown 方法的實作。 CXAPOBase的新實例會有 1 個參考計數。 當其參考計數變成 0 時,將會終結。 IXAPO 和IXAPOParameters的實作應該遵循相同的模式,以在搭配 XAudio2 使用時允許其適當的管理。

XAPO 實例會以 IUnknown 介面的形式傳遞至 XAudio2。 XAudio2 會使用 QueryInterface 來取得 IXAPO 介面,並偵測 XAPO 是否實作 IXAPOParameters 介面。 IXAPO的實作必須接受__uuidof (IXAPO) 的要求。 如果實作 IXAPOParameters ,它也必須接受 __uuidof (IXAPOParameters) 的要求。

在 XAudio2 中使用 XAPO

XAUDio2 會將其附加至語音,以在 XAudio2 中使用。 每個 XAudio2 語音都有一個包含零個或多個音訊效果的效果鏈結。 傳送至語音的音訊資料會先通過鏈結中的每個效果,再傳送至語音的輸出目標。 資料會使用IXAPO::P rocess方法的pInputProcessParameters參數,從語音傳遞至每個效果。 然後使用 pOutputProcessParameters 參數傳回語音。 語音會取得每個效果的輸出,並將它饋送至鏈結中的下一個效果,直到鏈結中沒有任何效果。

如需 XAudio2 效果鏈結的詳細資訊,請參閱 XAudio2 音訊效果

如需在 XAudio2 中使用 XAPO 的範例,請參閱 如何:在 XAudio2 中使用 XAPO

效果程式庫

XAPO 效果程式庫包含數個 XAPO,以及具現化它們的常見方法。 如需 XAPOFX 的相關資訊,請參閱 XAPOFX 概觀 。 此外,XAudio2 也有內建的殘響和音量計量效果。 如需內建 XAudio2 效果的詳細資訊,請參閱 XAudio2 音訊效果

音訊效果

XAudio2 音訊效果