我希望能夠在XNA遊戲中的Windows Phone 7上打開一個文件,而無需將整個文件讀入內存。我試圖從WAV文件流式傳輸音頻,傳遞給DynamicSoundEffectInstance進行播放。XNA WP7 - 打開文件而不將它全部讀入內存?
我現在使用的方法使用TitleContainer.OpenStream()打開WAV文件,然後使用ThreadPool.QueueUserWorkItem()在後臺線程上讀取它。但是,這會在開始時造成困難,今天我確認了TitleContainer.OpenStream()返回一個MS.Internal.InternalMemoryStream對象,這表明它正在將整個文件讀入OpenStream()中的內存中。
這可以通過它看起來沒有時間(或者只有memcpy()的時間值)來執行Read()和Stream.BeginRead()(包含它在WP7上作爲Async CTP的一部分)在返回之前調用其回調函數。
有沒有辦法在WP7 XNA上打開文件而不將整個內容讀入內存?如果不是,這是完全荒謬的。