Androidデベロッパーサイトによると:機能Androidのカメラのプレビューローテーション
カメラのプレビューの回転を調整するための "setDisplayOrientation"
があるアンドロイド2.2後
。
また、Androidデベロッパーサイトによれば、次のソースコードを見つけることができます。
android.hardware.Camera.CameraInfo info =
new android.hardware.Camera.CameraInfo();
android.hardware.Camera.getCameraInfo(cameraId, info);
int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
int degrees = 0 ;
switch (rotation) {
case Surface.ROTATION_0 : degrees = 0 ; break ;
case Surface.ROTATION_90 : degrees = 90 ; break ;
case Surface.ROTATION_180 : degrees = 180 ; break ;
case Surface.ROTATION_270 : degrees = 270 ; break ;
}
int result ;
if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
result = (info.orientation + degrees) % 360 ;
result = (360 - result) % 360 ; // compensate the mirror
} else { // back-facing
result = (info.orientation - degrees + 360) % 360 ;
}
ただし、私は何らかの種類のデバイスでは動作しません。 Like Samsung Galaxy Y S5360、S5660、YP-G1、YP-G70など
ギャラクシーネクサス、SII、または一部のハイエンドデバイスの一部だけで正常に動作します。
setDisplayOrientationはサポートされていないか、デバイスのファームウェアが準備されていませんか?
PS。すべての端末はAndroid 2.3.1以上です。
ヘルプ。
私のギャラクシーYについて同じ問題に直面しています。何かを見つけましたか?私はsetDisplayOrientationが成功したかどうかを知りたいと思っています。最後に –
、解決されません。カメラの表面を水平に見せるだけです。 –
このエラーが発生するデバイスのリストを持っている人はいますか? ご協力いただければ幸いです。 – patrickfdsouza