Android - Компас на камере SurfaceView - PullRequest
0 голосов
/ 29 декабря 2011

Я хочу поставить компас на поверхность камеры, но я понятия не имел. Не могли бы вы поделиться им со мной?

Это мой класс камеры с SurfaceView

        preview=(SurfaceView)findViewById(R.id.preview);
        previewHolder=preview.getHolder();
        previewHolder.addCallback(surfaceCallback);
        previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
      }

  @Override
  public void onResume() {
    super.onResume();

    camera=Camera.open();
  }

  @Override
  public void onPause() {
    if (inPreview) {
      camera.stopPreview();
    }

    camera.release();
    camera=null;
    inPreview=false;

    super.onPause();
  }

  SurfaceHolder.Callback surfaceCallback=new SurfaceHolder.Callback() {
    public void surfaceCreated(SurfaceHolder holder) {
      try {
        camera.setPreviewDisplay(previewHolder);
      }
      catch (Throwable t) {
        Log.e("PreviewDemo-surfaceCallback",
              "Exception in setPreviewDisplay()", t);
        Toast
          .makeText(ARrazerNav.this, t.getMessage(), Toast.LENGTH_LONG)
          .show();
      }
    }

    public void surfaceChanged(SurfaceHolder holder,
                               int format, int width,
                               int height) {

      Camera.Parameters parameters=camera.getParameters();
      //Camera.Size size=getBestPreviewSize(width, height,
                                         // parameters);
      List<Camera.Size> sizes = parameters.getSupportedPreviewSizes();
      Camera.Size selected = sizes.get(0);
      parameters.setPreviewSize(selected.width, selected.height);
      camera.setParameters(parameters);
      camera.setDisplayOrientation(90);
      camera.startPreview();
    }

    public void surfaceDestroyed(SurfaceHolder holder) {
      // no-op
    }
  };

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...