为啥Android模拟器中的相机预览会旋转90度?

Posted

技术标签:

【中文标题】为啥Android模拟器中的相机预览会旋转90度?【英文标题】:Why is the camera preview rotated by 90 degrees in the Android emulator?为什么Android模拟器中的相机预览会旋转90度? 【发布时间】:2016-05-09 21:46:42 【问题描述】:

我已将网络摄像头连接到模拟器,但我总是看到摄像头旋转了 90 度。

我所做的只是将“Webcam0”设置为模拟器中用作后置摄像头的设备。

背景:我正在尝试解决我正在开发的使用 ZXing 的应用程序的问题:它无法扫描某些设备上的某些 QR 码,我想知道它是否与我看到的有关在模拟器上。

在我们用来测试图像的设备上,图像可以正确显示,但在模拟器上却是旋转的。除了让我怀疑它是否会在真实设备上造成问题之外,它还使得测试 QR 码扫描变得非常困难(即,当您在应用程序上垂直移动 QR 码时,它会水平移动,反之亦然)。

你知道怎么解决吗?

提前致谢

【问题讨论】:

QR 码是全向的,对吧?角落的三个正方形在那里,因此您应该能够从任何角度扫描它们。 camera.parameters.setOrientation(90) 您不能只旋转预览,因为在实际设备上,摄像头预览会被错误地旋转,网络摄像头和设备摄像头都以“Rotation0”出现,因此旋转 90 度只能修复其中之一,而不是两者。 你解决了吗?我在模拟器上遇到了同样的问题,但使用的是虚拟相机,而不是真实的相机 @RubénViguera 我不记得确切(3 年前),但我认为我只在模拟器上遇到了问题,在设备上一切正常。轮换很可能是有影响的。 【参考方案1】:

很好地阅读了here 的回复,它正在旋转图像,因为它认为相机处于横向模式(实际上是使用网络摄像头),因此它以横向模式显示。换句话说,它与所提供的硬件一起正常运行。我已经尝试过像 ManyCam 这样的模拟器程序,希望我可以让它旋转图像,然后让 android Studio 使用旋转的模拟相机,但 Android Studio 似乎根本没有拿起模拟相机。

简而言之,我将相机转向一边,然后用胶带将它粘在显示器的一侧。尝试使用桌面网络摄像头时,浪费了足够的时间在模拟器中的问题上。它也没有阻止我工作,只是很烦人(我想是强迫症开始了)。

【讨论】:

以上是关于为啥Android模拟器中的相机预览会旋转90度?的主要内容,如果未能解决你的问题,请参考以下文章

Android Camera2预览偶尔会旋转90度

Android将图片旋转90度(由相机拍摄)[重复]

Android相机预览始终是侧面的

Android获取相机位图的方向?并向后旋转-90度

AVFoundation 图像方向在预览中偏离了 90 度,但在相机胶卷中很好

从相机/图库加载图像位图时会旋转 [Android 9]