在Windows Phone 8应用程序中录制视频时,如何从相机获取每个帧?

时间:2014-05-30 17:22:36

标签: video windows-phone-8 camera

我正在开发一个使用Windows Phone 8设备将图像发送回台式机/平板电脑的远程呈现应用程序。我找到了几个样本,它们展示了如何录制视频,甚至将其保存到文件中,但没有一个样本向我展示如何在流式传输时从相机中获取每个帧。我看到了一个使用FileSink对象将视频保存到存储的示例,但没有类似于获取每个帧的生成。我也不会在生成新的位图/帧时在相机对象中看到触发的事件。有一个类似的事件用于拍照,但拍照非常慢,不能用于流式传输视频。

在视频录制模式下,如何获取相机生成的每个帧?我当然需要这个,所以我可以通过桌面/平板电脑的套接字链接发送每一帧。

1 个答案:

答案 0 :(得分:2)

如果您使用的是PhotoCaptureDevice或PhotoCamera,您可以使用此

camera.GetPreviewBufferArgb(previewBuffer);

  camera.GetPreviewBufferArgb32(previewBuffer);

其中previewBuffer是帧的像素数组。您可以将其分配给WriteableBitmap.Pixels

或在套接字上传递原始数组并将其分配给桌面上的图像。