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


XAudio2 műveleti csoportok

Ez az áttekintés számos XAudio2 metódust mutat be, amelyeket egy műveletkészlet részeként hívhat meg.

Számos XAudio2 metódus használja a OperationSet argumentumot, amely lehetővé teszi, hogy egy halasztott csoport részeként legyenek meghívva. Egy adott időpontban egy teljes módosításkészletet alkalmazhat egyszerre az IXAudio2::CommitChanges függvény meghívásával az adott csoport OperationSet azonosítójával. Az azonosító tetszőleges szám. Így lehetővé teszi, hogy az ügyfélkód különálló részei ütközés nélkül alkalmazzanak külön atomi módosításokat a gráfra. Az ajánlott eljárás az, hogy az ügyfél minden alkalommal növelje a globális számlálót, amikor egyedi, új OperationSet-azonosítót kell létrehoznia. A gráf atomilag alkalmazott módosításai garantáltan minta-pontosak lesznek. A hangok például szinkronban indulnak el.

Ha OperationSet XAUDIO2_COMMIT_NOW értékre állítja, a módosítás azonnal életbe lép. Ez a metódushívás után az első hangfeldolgozási menetben lép érvénybe. Ha CommitChanges hív meg XAUDIO2_COMMIT_ALL, a rendszer az OperationSet azonosítótól függetlenül végrehajtja az összes függőben lévő műveletkészlet módosítását.

Bizonyos metódusok azonnal érvénybe lépnek, amikor egy XAudio2-visszahívásból meghívják őket egy OperationSet XAUDIO2_COMMIT_NOW. Minden más metódus, amely OperationSet argumentumot használ, csak a metódus meghívása után lép érvénybe a következő feldolgozási passzra (ha XAUDIO2_COMMIT_NOW van meghívva), vagy ha CommitChanges ugyanazzal a OperationSet. Emiatt előfordulhat, hogy bizonyos metódushívások nem mindig ugyanabban a sorrendben történnek, amelyben meghívták őket.

Az IXAudio2::StopEnginemeghívása esetén minden függőben lévő művelet atomi módon lesz véglegesített. A motor leállítása közben meghívott metódusok azonnal érvénybe lépnek, függetlenül a megadott OperationSet értékétől. A motor újraindításakor az XAudio2 aszinkron módba tér vissza.

Az olyan egyszerű forgatókönyvek, amelyekben a műveletkészletek hasznosak, az alábbi példákat tartalmazzák.

  • Több hang egyidejű indítása.
  • Egy puffer egyidejű elküldése egy hangnak, a hangparaméterek beállítása és a hang indítása.
  • Nagy léptékű módosítást végez a gráfon, például az összes forráshangot egy új submix hanghoz csatlakoztatja.

Lásd : A csoport hangmetszetei műveletkészletként egy műveletkészlet használatát szemléltető példát.

Műveletkészlet metódusai

A következő metódusokat meghívhatja egy műveletkészlet részeként.

A korábban leírtaknak megfelelően az ügyfélkódnak végül meg kell hívnia a függvényt IXAudio2::CommitChanges a halasztott módosítások végrehajtásához.

műveletkészletek

XAudio2 programozási útmutató

Útmutató: Hangmetenek csoportosítása műveletkészletként