Megosztás a következőn keresztül:


Az XAPO áttekintése

A XAPO API lehetővé teszi a platformfüggetlen hangfeldolgozó objektumok (XAPO) létrehozását az XAudio2-ben Windows és Xbox 360 rendszeren egyaránt. Az XAPO egy olyan objektum, amely felveszi a bejövő hangadatokat, és műveletet hajt végre az adatokon, mielőtt továbbadja azokat. Az XAPO-val különféle feladatokat végezhet, például egy audiofolyam visszhangjának hozzáadását és a csúcs hangerőszintek figyelését.

Új XAPO-k létrehozása

A XAPO API biztosítja a IXAPO felületet, valamint a CXAPOBase osztályt az új XAPO-típusok létrehozásához. Az IXAPO felület tartalmazza az összes metódust, amelyet implementálnunk kell egy új XAPO létrehozásához. A CXAPOBase osztály a IXAPO felület alapszintű implementációját biztosítja. CXAPOBase implementálja az összes IXAPO interfészmetódust, kivéve az IXAPO::P rocess metódust, amely egyedi az egyes XAPO-khoz.

Egy új XAPO létrehozására példa: Útmutató: XAPO-létrehozása.

Ha például futásidejű paramétereket elfogadó XAPO-t szeretne létrehozni, tekintse meg Útmutató: Futásidejű paramétertámogatás hozzáadása XAPO-.

XAPOs és COM

Az XAPOs implementálja a IUnknown felületet. Az IXAPO és IXAPOParameters interfészek a három IUnknown metódust tartalmazzák: QueryInterface, AddRefés Release. CXAPOBase mindhárom IUnknown metódus implementálását biztosítja. A CXAPOBase új példánya 1 hivatkozási számot fog kapni. A hivatkozási szám 0-ra változásakor el lesz pusztítva. Az IXAPO és IXAPOParameters implementációinak ugyanazt a mintát kell követniük, hogy a XAudio2-vel való használatuk megfelelő legyen.

Az XAPO-példányokat a rendszer IUnknown interfészként továbbítja az XAudio2-nek. Az XAudio2 QueryInterface használatával szerez be egy IXAPO felületet, és észleli, hogy az XAPO implementálja-e az IXAPOParameters felületet. Az IXAPO implementációinak el kell fogadniuk a kéréseket a __uuidof(IXAPO)esetében. Ha az IXAPOParameters implementálva van, annak a __uuidof(IXAPOParameters)kérelmeket is el kell fogadnia.

XAPO használata a XAudio2-ben

Az XAPO-kat az XAudio2-ben használják hangokhoz csatolva. Minden XAudio2 hangnak van egy effektuslánca, amely nulla vagy több hangeffektust tartalmaz. A hangnak küldött hangadatok a lánc minden egyes effektusán áthaladnak, mielőtt a hang kimeneti céljaira kerülnek. Az adatok a hangtól az egyes effektusokra a pInputProcessParameters paraméter segítségével kerülnek továbbításra a IXAPO::Process metódussal. Ezután a rendszer a pOutputProcessParameters paraméterrel adja vissza a hangnak. A hang az egyes effektusok kimenetét felveszi, és a lánc következő effektusába viszi tovább, amíg a láncban nem marad több effektus.

További információ az XAudio2 effektusláncokról: XAudio2 Hangeffektusok.

A XAPO XAudio2-ben való használatára példa: Hogyan kell XAPO-t használni az XAudio2-ben.

Effektustárak

Az XAPO effektkönyvtár több XAPO-t tartalmaz, valamint egy általános példányosítási módszert. A XAPOFX-ről további információért lásd a XAPOFX Áttekintés-t. Az XAudio2 beépített reverb- és hangerőmérő effektusokkal is rendelkezik. A beépített XAudio2-effektusokról további információt XAudio2 Hangeffektusok talál.

Hangeffektek

XAudio2 hangeffektusok