我将手机放在"肖像模式"但是cameraPreview
处于模式环境中(即我看到旋转了90度的东西)。当我把手机转到#34;横向模式"预览很好,处于横向模式",图像不会旋转。
我无法访问Camera.setDisplayOrientation(int)
,因此我无法使用here解释的方法。
我试过了:
Camera.Parameters p = camera.getParameters();
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
p.set("orientation", "portrait");
p.set("rotation",90);
}
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
p.set("orientation", "landscape");
p.set("rotation", 90);
}
答案 0 :(得分:0)
尝试使用以下方法设置相机的显示方向:
Camera camera;
...
camera.setDisplayOrientation(90);
将它放在surfaceCreated(SurfaceHolder holder)方法中。当我遇到类似问题时,这对我有用。
答案 1 :(得分:0)
Method rotateMethod;
rotateMethod = android.hardware.Camera.class.getMethod("setDisplayOrientation", int.class);
rotateMethod.invoke(camera, 90);
之后
camera = Camera.open();
答案 2 :(得分:0)
在工作区项目中的AndroidManifest.xml Activity中添加代码。
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>