从ConnectStream异步写入MemoryStream

时间:2011-12-10 22:19:07

标签: c# memorystream

我正在写一部播放来自互联网的歌曲的MP3播放器。问题是我无法在ConnectStream中使用Seek()方法。 我想也许可以在流式传输期间异步地将ConnectStream复制到MemoryStream并使用MemoryStream的Seek()方法。 有没有人有想法是否可能?或者也许有人知道如何做到这一点? 感谢。

2 个答案:

答案 0 :(得分:2)

如果您希望允许用户在歌曲中来回搜索,您可能正走在正确的轨道上。分配一个MemoryStream,并使用CopyTo方法(假设您使用的是.NET 4),如下所示:

var ms = new MemoryStream();
myConnectStream.CopyTo(ms);

如果您想同时下载和搜索(例如像YouTube视频),则需要使用稍微复杂的技术。我不会详细描述它们,而是引用您的来源:

http://msdn.microsoft.com/en-us/magazine/cc337900.aspx

答案 1 :(得分:0)

是的,这可以通过System.IO.MemoryStream实现。然后,您将缓冲本地内存中的某些流。考虑使用System.IO.BufferedStream