Données audio en streaming XAudio2

La diffusion en continu est le processus qui consiste à ne conserver qu’une petite partie d’un fichier audio en lecture en mémoire. Cela permet de lire des fichiers audio volumineux tels que de la musique d’arrière-plan et de ne pas occuper une grande quantité de mémoire.

Lorsqu’un fichier audio est diffusé en continu, ses données sont lues à partir du disque en blocs au lieu de charger le fichier entier à la fois. La diffusion en continu s’effectue en lisant de manière asynchrone les données audio dans une file d’attente de mémoires tampons de disque. Chaque mémoire tampon est remplie, puis envoyée à une voix source. Une fois que la voix a fini de lire une mémoire tampon, la mémoire tampon est à nouveau disponible pour lecture. Le fait de parcourir les mémoires tampons de disque de cette manière permet de lire un fichier audio volumineux pendant que seule une partie de ses données est chargée. Le code de diffusion en continu doit être placé dans un thread distinct, où il peut être mis en veille tout en attendant la fin des opérations de disque et audio de longue durée. Une classe de rappel est utilisée pour réveiller le thread en déclenchant des événements lorsque les opérations audio sont terminées.

Pour obtenir un exemple de la façon dont la diffusion en continu peut être effectuée avec XAudio2, consultez Guide pratique pour diffuser en continu un son à partir du disque.

Streaming de données audio

Guide de programmation XAudio2