вращение фронтальной камеры не одинаково на разных телефонах - PullRequest
0 голосов
/ 08 октября 2018

Я использую приведенный ниже код для установки фронтальной камеры на устройство

    private Camera getFrontCamera() {
    int cameraCount = 0;
    Camera camera = null;
    Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
    cameraCount = Camera.getNumberOfCameras();
    for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
        Camera.getCameraInfo(camIdx, cameraInfo);
        if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            try {
                camera = Camera.open(camIdx);
                camera.setDisplayOrientation(90);
            } catch (RuntimeException e) {
                e.printStackTrace();
            }
        }
    }
    return camera;
}

Все работает хорошо, но при предварительном просмотре камеры в SurfaceView на разных телефонах получается различное вращение.

Когда я запускаю код на Samsung s7 с setDisplayOrientation(90), предварительный просмотр камеры такой, каким он должен быть, а на Xiaomi предварительный просмотр телефона поворачивается на 180 градусов.Когда я запускаю код на Xiaomi mi5 с setDisplayOrientation(270), этот Xiaomi работает хорошо, но Samsung поворачивается на 180 градусов.

Может кто-нибудь сказать мне, как заставить это работать на всех устройствах?

Спасибо

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