我正在开发一个使用
Windows Phone 8设备将图像发送回台式机/平板电脑的远程呈现应用程序.我找到了几个样本,显示如何录制视频,甚至将其保存到文件中,但没有一个样本向我展示如何在流式传输时从相机中获取每个帧.我看到了一个使用FileSink对象将视频保存到存储的示例,但没有类似于获取每个帧的生成.每当生成新的位图/帧时,我也不会在相机对象中看到触发的事件.有一个类似的事件用于拍照,但拍照非常慢,不能用于流式视频.
在视频录制模式下,如何获取相机生成的每个帧?我当然需要这个,所以我可以通过桌面/平板电脑的插座链接发送每一帧.
最佳答案 如果您使用的是PhotoCaptureDevice或PhotoCamera,您可以使用它
camera.GetPreviewBufferArgb(previewBuffer);
要么
camera.GetPreviewBufferArgb32(previewBuffer);
其中previewBuffer是帧的像素数组.您可以将其分配给WriteableBitmap.Pixels
或者将原始数组传递给套接字并将其分配给桌面上的图像.