c#Stream.ReadAsync读取零字节,但未到达流的末尾

时间:2015-04-03 22:01:17

标签: c# http windows-phone-8.1 streaming mp4

我正在尝试使用http发送一个mp4流,但每次我的循环在第一次迭代中断,因为ReadAsync返回0.我不明白为什么,因为我检查流是否为空,当然它不是

这是我到目前为止所得到的:

while (camera.VideoStream.AsStream().Length == 0);

byte[] buffer = new byte[1024];
while (true)
{
    int bytesRead = await camera.VideoStream.AsStream().ReadAsync(buffer,0,buffer.Length);
    if (bytesRead == 0)
    {
        Debug.WriteLine("End of Stream");
        break;
    }
    await output.WriteAsync(buffer, 0, bytesRead);
    await output.FlushAsync();
}

camera.VideoStream是一个IRandomAccessStream。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

当您尝试阅读时,流的位置是什么?

您可能需要.Seek(0,SeekOrigin.Begin)。