我需要对 Windows Phone 8.1 中的网络摄像头进行一些基本的视频处理。
我找不到任何有关如何访问网络摄像头预览缓冲区的示例。 Microsoft 示例(很少)都激活了视频预览帧,我找不到显示如何订阅“新帧准备就绪”事件或缓冲区位置的示例。
MediaCapture 和 CaptureDevice 似乎是此 api 中访问相机的主要方式。
任何人都可以指出一个具体的例子吗?例如,QR 码阅读器,或者添加视频效果(如灰度)的程序可能需要将事件附加到每一帧。
谢谢。
最佳答案
听起来您需要从手机摄像头的预览流中访问缓冲区。如果您绝对需要以 8 和 8.1 为目标,那么您应该查看 GetPreviewBufferArgb(out int[] pixels)
。看这里:https://msdn.microsoft.com/en-us/library/windows.phone.media.capture.cameracaptureframe.getpreviewbufferargb.aspx
但是,如果您可以改为以 Windows 10 为目标,您将获得完全通用 API 的好处,并且您不会依赖于可能很快被弃用(如果尚未弃用)Windows.Phone.Media。捕获
命名空间。我强烈建议改为这样做,因为 API 更易于使用,而且任何 8.1 设备都可以免费升级到 10。
这是一个完整的 Windows 10 示例:http://aka.ms/2015buildgetpreviewframesample ,在上次 Build session 上展示(视频在这里:http://channel9.msdn.com/Events/Build/2015/2-730)。
关于c++ - 实时视频缓冲区访问网络摄像头,Windows Phone 8.1 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30558340/