首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android 2.2。人像相机预览

Android 2.2。人像相机预览
EN

Stack Overflow用户
提问于 2012-03-29 09:08:55
回答 3查看 1.5K关注 0票数 2

我正在开发一款显示相机预览的Android应用程序。理想情况下,我希望应用程序在肖像模式下工作,这意味着我需要处理相机预览图像的旋转。

我只需要支持APILevel8 (Android version2.2)或更高版本,所以我可以使用Camera.setDisplayOrientation来设置方向,该方法的API文档包含一个setDisplayOrientation函数,它可以执行我想要的操作。唯一的问题是,它使用API9级Camera.CameraInfo来获取相机相对于设备的方向(大概是为了处理横向设备与纵向设备)。

因此,假设我可以对所有级别8的设备执行setDisplayOrientation(90),而只对较新的设备使用CameraInfo.orientation,这是安全的吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-24 10:09:02

我没有找到一个明确的答案,所以我按照上面的建议(setDisplayOrientation(90))为2.2设备发布了这个应用程序。它已经有大约70,000的下载量,并且没有关于摄像头显示被错误地旋转了90度的报告,所以看起来这是一个合理的解决方案。

票数 1
EN

Stack Overflow用户

发布于 2012-06-02 04:15:27

我在一个项目设置为API8的HTC Evo Shift上尝试了以下方法(效果很好):

代码语言:javascript
复制
Configuration cfg = mContext.getResources().getConfiguration();
if (cfg.orientation == Configuration.ORIENTATION_PORTRAIT) {
    mCamera.setDisplayOrientation(90);
}
票数 2
EN

Stack Overflow用户

发布于 2012-03-30 20:55:53

我把这个链接贴到了安卓开发者在相机方面的帮助:http://developer.android.com/guide/topics/media/camera.html

关于你的具体问题,我看了一下API,我猜,因为每次在表面上进行更改时都会调用surfaceChanged方法,而设备只有2个位置,所以你可能是对的,因为你在surfaceChanged方法中实现了正确的方法。试着实现它,如果你不能让它工作,发布问题,我会尝试提供更多帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9917856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档