【发布时间】:2012-03-31 21:33:41
【问题描述】:
我希望能够在 Windows Phone 7 上的 XNA 游戏中打开文件,而无需将整个文件读入内存。我正在尝试从 WAV 文件流式传输音频,以传递给 DynamicSoundEffectInstance 进行播放。
我现在使用的方法是使用 TitleContainer.OpenStream() 打开 WAV 文件,然后使用 ThreadPool.QueueUserWorkItem() 在后台线程上读取它。但是,这在开始时会导致问题,今天我验证了 TitleContainer.OpenStream() 返回一个 MS.Internal.InternalMemoryStream 对象,这表明它正在 OpenStream() 中将整个文件读入内存。
执行 Read() 和 Stream.BeginRead() (包含在WP7 作为异步 CTP 的一部分)在返回之前调用其回调。
有没有办法在 WP7 XNA 上打开文件而不将整个文件读入内存?如果不是,这完全是荒谬的。
【问题讨论】:
标签: windows-phone-7 xna