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