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.
Kapcsolódó témakörök