wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了windows – 在Microsoft Surface上检测相机旋转?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

有没有可靠的方法来确定相机是否在Microsoft Surface上旋转? 基本上,我想知道设备中是否内置了特定的摄像头(因为它随后会随设备一起旋转),有没有办法查询? 我的问题是,当用户旋转设备时,我的相机视图被翻转,但我无法假设我应该只旋转读取帧,因为活动相机可能是外部USB相机. 我正在使用Media Foundation API阅读相机. Basically, I want to know
有没有可靠的方法来确定相机是否在Microsoft Surface上旋转?

基本上,我想知道设备中是否内置了特定的摄像头(因为它随后会随设备一起旋转),有没有办法查询

我的问题是,当用户旋转设备时,我的相机视图被翻转,但我无法假设我应该只旋转读取帧,因为活动相机可能是外部USB相机.

我正在使用Media Foundation API阅读相机.

解决方法

使用UWP,您可以检查相机的DeviceInformationenclosureLocation.panel属性,该属性是:

>前置/后置/等用于集成摄像头或
>外部相机未知

CameraStarterKit样本中提供了完整示例.

但是,如果您不能使用UWP,仍应该可以找到基础信息.使用MF,您应该能够访问MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK.

这将是类似的东西

\\?\usb#vid_046d&pid_0843&mi_00#6&2314864d&0&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\global

内置摄像头是supposed to register,其物理位置在

HKLM\SY@R_301_2407@\CurrentControlSet\Control\InternalDeviceModification\{GUID}

其中PLD_Panel键的值应为DWORD,其值与上面引用的Panel枚举非常相似.

在这里,6意味着未知.因此,您应该能够检查是否存在此注册表项,如果存在,请检查其值.我怀疑这与UWP的内幕相似.

如果做不到这一点,您也可以通过硬编码相机供应商和产品ID或MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME的某些值来破解@L_450_17@.

大佬总结

以上是大佬教程为你收集整理的windows – 在Microsoft Surface上检测相机旋转?全部内容,希望文章能够帮你解决windows – 在Microsoft Surface上检测相机旋转?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。