Données audio de diffusion en continu XAudio2

La diffusion en continu est le processus qui consiste à conserver uniquement une petite partie d’un fichier audio en cours de lecture en mémoire. Cela permet de lire des fichiers audio volumineux, tels que la musique de fond, 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 dans des blocs au lieu de charger le fichier entier en une seule 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 tampon est rempli, puis soumis à une voix source. Une fois que la voix a terminé la lecture d’une mémoire tampon, la mémoire tampon redevient disponible pour la lecture. Le fait de parcourir les tampons de disque de cette manière permet de lire un fichier audio volumineux alors que seule une partie de ses données est chargée. Le code de diffusion en continu doit être placé dans un thread séparé, où il peut se mettre en veille en attendant la fin des opérations de lecture et d’exécution de disque de longue durée. Une classe de rappel est utilisée pour réveiller le thread en déclenchant des événements lorsque des 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 Comment : diffuser un son à partir d’un disque.

Diffusion en continu de données audio

Guide de programmation XAudio2