XAudio2 Streaming Audio Data

Lo streaming è il processo di gestione solo di una piccola parte di un file audio in riproduzione in memoria. Ciò consente la riproduzione di file audio di grandi dimensioni, ad esempio la musica di sottofondo, e non occupa una grande quantità di memoria.

Quando viene trasmesso un file audio, i dati vengono letti dal disco in blocchi anziché caricare l'intero file contemporaneamente. Lo streaming viene eseguito leggendo in modo asincrono i dati audio in una coda di buffer su disco. Ogni buffer viene riempito e quindi inviato a una voce di origine. Al termine della riproduzione di un buffer, il buffer diventa disponibile per la lettura. Il ciclo dei buffer del disco in questo modo consente la riproduzione di un file audio di grandi dimensioni mentre viene caricata solo una parte dei dati. Il codice di streaming deve essere inserito in un thread separato, in cui può essere in sospensione durante l'attesa del completamento delle operazioni su disco e audio a esecuzione prolungata. Una classe di callback viene usata per riattivare il thread attivando eventi al termine delle operazioni audio.

Per un esempio di come è possibile eseguire lo streaming con XAudio2, vedere Procedura: Trasmettere un suono da disco.

Streaming di dati audio

Guida alla programmazione di XAudio2