Delen via


XAudio2-sleutelconcepten

In dit overzicht worden enkele belangrijke concepten geïntroduceerd voor het gebruik van XAudio2.

XAudio2 Engine

De IXAudio2 interface is de kern van de XAudio2-engine. Door een exemplaar van de IXAudio2-interface te maken, kan de client de beschikbare audioapparaten inventariseren, globale API-eigenschappen configureren, stemmen maken en prestaties bewaken. De XAudio2Create helperfunctie voert instantiërings- en initialisatietaken uit voor XAudio2.

U kunt exemplaren van XAudio2 meerdere keren binnen één proces maken. Elk XAudio2-object werkt onafhankelijk en heeft een eigen audioverwerkingsthread. Alleen de instellingen voor foutopsporing worden gedeeld. Dit is belangrijk in Windows waarbij verschillende onderdelen in één proces kunnen worden geladen. Internet Explorer kan bijvoorbeeld meerdere XAudio2-onderdelen tegelijk gebruiken. Hoewel het mogelijk is om meerdere XAudio2-engineobjecten binnen één clienttoepassing te maken, moet u geen informatie doorgeven tussen de respectieve grafieken.

Zie Procedure: XAudio2-initialiseren voor een voorbeeld van het initialiseren van de XAudio2-engine.

Stemmen

Stemmen zijn de objecten die XAudio2 gebruiken om audiogegevens te verwerken, te bewerken en af te spelen. Er zijn drie soorten stemmen in XAudio2.

  • bron stemmen

    Bronstemmen vertegenwoordigen een stroom audiogegevens. Bronstemmen verzenden hun gegevens naar andere soorten stemmen.

  • Submix Voices

    Submixstemmen voeren enige manipulatie van audiogegevens uit die ze ontvangen. Een voorbeeld van audiogegevensmanipulatie kan de conversie van de samplefrequentie zijn. Nadat een submix-stem gegevens heeft verwerkt, geeft deze gegevens door aan een andere submix-stem of aan een master-stem.

  • Beheersing van Stemmen

    Het masteren van stemmen ontvangt gegevens van bronstemmen en submixstemmen en verzendt die gegevens naar de audiohardware.

Zie XAudio2 Voices voor een overzicht van XAudio2-stemmen.

Audio-grafiek

Een audiografiek is een verzameling XAudio2-stemmen. Audio begint aan één kant van een audiografiek in bronstemmen, doorloopt eventueel een of meer submixstemmen en eindigt bij een mastering-stem. Een audiografiek bevat een bronstem voor elk geluid dat momenteel wordt afgespeeld, nul of meer submixstemmen en één mastering voice. De eenvoudigste audiografiek en het minimum dat nodig is om een ruis te maken in XAudio2, is één bronstem die rechtstreeks naar een mastering-stem uitvoert. Zie Procedure: Een geluid afspelen met XAudio2 voor een voorbeeld van de minimale stappen die nodig zijn om een geluid af te spelen met XAudio2.

Zie XAudio2 Audio Graph voor een overzicht van XAudio2-audiografieken.

Callbacks

Callbacks zijn het mechanisme dat XAudio2 gebruikt om aan clientcode te laten weten dat er een gebeurtenis heeft plaatsgevonden in een stem of in het engineobject. Omdat het afspelen van audio asynchroon gebeurt in de XAudio2-engine, bieden callbacks de enige manier om te bepalen wanneer een geluid klaar is met afspelen.

Zie XAudio2 Callbacks voor een overzicht van XAudio2-callbacks.

Aan de slag

XAudio2-versies

Hoe te: XAudio2 initialiseren

Procedure: Een geluid afspelen met XAudio2