XAudio2 串流音訊數據
串流是僅保留記憶體中正在播放的音訊檔案的一小部分的過程。 這可讓背景音樂等大型音訊檔案播放,而不會佔用大量的記憶體。
串流處理音訊檔案時,會以區塊方式從磁碟讀取其數據,而不是一次載入整個檔案。 串流是透過以異步方式將音訊數據讀入磁碟緩衝區佇列來完成。 每個緩衝區都會填滿,然後提交至來源語音。 在語音播放完緩衝區後,該緩衝區就可以再次被讀取。 以這種方式循環遍歷磁碟緩衝器,可以在只載入部分數據時播放大型音訊檔案。 串流程式代碼應該放在個別的線程中,在等候長時間執行的磁碟和音訊作業完成時,它可以進入睡眠狀態。 回呼類別是用來在音訊作業完成時觸發事件來喚醒線程。
如需如何使用 XAudio2 完成串流的範例,請參閱 如何:從磁碟串流音效。
相關主題