「Android」タグアーカイブ

Nexus5x,6P のカメラ reverse landscapに対応

Nexus5x及び6Pで、QRコード読み取り,3D 行先コンパス ARでカメラ画像が、180度回転表示するバグを修正しました。

Nexus 5Xのイメージセンサーは設計上の部品配置の都合で、他のAndroid端末と異なり逆(reverse landscape)に取り付けられているとのことで、rotationが未設定のアプリはpreviewが反転するようになった。
http://qiita.com/tomoima525/items/f59d345ea40c36244f9b

当アプリも180度回転表示してしまいました。

元々は、
camera.setDisplayOrientation(90)
で90度回転させて縦表示するようにしていたのですが、
Nexus5xだと、
camera.setDisplayOrientation(90 + 180)
にしないとだめで、

camera2 APIを利用すれば全自動ですが、
最終、以下のコードを追加して対応致しました。

    int numCameras = Camera.getNumberOfCameras();
    int cameraID;
    int back_camera_flg = 0;

    int index = 0;
    Camera.CameraInfo cameraInfo;
    int result = 0;

    while (index < numCameras) {
      cameraInfo = new Camera.CameraInfo();
      Camera.getCameraInfo(index, cameraInfo);
      if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT && back_camera_flg == 0){
        result = (cameraInfo.orientation) % 360;
        result = (360 - result) % 360;
        Log.w(TAG,"----- CAMERA INFO FRONT " + result );
      }
      if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK) {
        back_camera_flg = 1;
        result = (cameraInfo.orientation + 360) % 360;
        Log.w(TAG,"----- CAMERA INFO BACK " + result );
        break;
      }
      index++;
    }
     //camera.setDisplayOrientation(90);
    camera.setDisplayOrientation(result);
    //
    camera.setParameters(parameters);
  }

QRコード読み取り バージョンアップしました。 ズームイン、ズームアウト 1.3.0

QRコード読み取り バージョンアップしました。

・カメラのズーム機能を実装しました。

15m先のバーコードが読めるというバーコードリーダを見て、それならということで、ズームイン、ズームアウトを実行しました。
ポスターに近寄らなくても、ズームインでQRコードが読み取れます。
(android 2.3.3の旧機種でも動作します!)

https://play.google.com/store/apps/details?id=jp.co.seiwa.zxing.client.android

※ついでに、開発ツールをEclipseからAndroid Stadio 2.1.2に移行しました。

B_2016-06-12-12-08-48
<ズームイン↓>
B_2016-06-12-12-08-56