Freigeben über


XAudio2-Streaming-Audiodaten

Streaming ist der Prozess, bei dem nur ein kleiner Teil einer abgespielten Audiodatei im Arbeitsspeicher beibehalten wird. Dadurch können große Audiodateien wie Hintergrundmusik wiedergegeben werden und nicht viel Arbeitsspeicher beanspruchen.

Wenn eine Audiodatei gestreamt wird, werden ihre Daten in Blöcken vom Datenträger gelesen, anstatt die gesamte Datei gleichzeitig zu laden. Das Streaming erfolgt durch asynchrones Lesen von Audiodaten in eine Warteschlange mit Datenträgerpuffern. Jeder Puffer wird gefüllt und dann an eine Quellstimme übermittelt. Nachdem die Stimme die Wiedergabe eines Puffers abgeschlossen hat, steht der Puffer wieder zum Lesen zur Verfügung. Durch das Durchlaufen der Datenträgerpuffer auf diese Weise kann eine große Audiodatei wiedergegeben werden, während nur ein Teil der Daten geladen wird. Der Streamingcode sollte in einem separaten Thread platziert werden, in dem er in den Ruhezustand versetzt werden kann, während er auf den Abschluss langer Datenträger- und Audiovorgänge wartet. Eine Rückrufklasse wird verwendet, um den Thread zu reaktivieren, indem Ereignisse ausgelöst werden, wenn Audiovorgänge abgeschlossen sind.

Ein Beispiel für das Streaming mit XAudio2 finden Sie unter Vorgehensweise: Streamen eines Sounds von Datenträgern.

Streaming von Audiodaten

XAudio2-Programmieranleitung