Delen via


XAudio2 Streaming Audio-gegevens

Streaming is het proces van het onderhouden van slechts een klein deel van een afgespeeld audiobestand in het geheugen. Hierdoor kunnen grote audiobestanden, zoals achtergrondmuziek, worden afgespeeld en geen grote hoeveelheid geheugen in beslag nemen.

Wanneer een audiobestand wordt gestreamd, worden de gegevens van de schijf in segmenten gelezen in plaats van het hele bestand tegelijk te laden. Streaming wordt bereikt door asynchroon audiogegevens te lezen in een wachtrij met schijfbuffers. Elke buffer wordt gevuld en vervolgens verzonden naar een bronstem. Nadat het afspelen van een buffer is voltooid, is de buffer weer beschikbaar om te lezen. Door de schijfbuffers op deze manier te doorlopen, kan een groot audiobestand worden afgespeeld terwijl slechts een deel van de gegevens wordt geladen. De streamingcode moet in een afzonderlijke thread worden geplaatst, waar deze kan pauzeren terwijl wordt gewacht tot langlopende schijf- en audiobewerkingen zijn voltooid. Een callback-klasse wordt gebruikt om de thread te activeren door gebeurtenissen te activeren wanneer audiobewerkingen zijn voltooid.

Zie How to: Stream a Sound from Diskvoor een voorbeeld van hoe streaming kan worden uitgevoerd met XAudio2.

audiogegevens streamen

XAudio2 Programmahandleiding