我希望能够在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上打开文件而不将整个内容读入内存?如果不是,这是完全荒谬的。