Tôi có ứng dụng máy ảnh bị khóa ở chế độ ngang. Khi cần tôi xoay các byte thô nhận được từ ngày onPreviewFrame()
và sử dụng chúng để mã hóa video.Mảng byte xem trước máy ảnh lộn ngược
Tuy nhiên, cách tiếp cận này không thành công trong thiết bị Nexus 5X và 6 vì cảm biến đảo ngược của chúng mang lại cho tôi các khung hình lộn ngược.
Như xoay xem trước sẽ không giúp tôi trong trường hợp này, như mô tả here:
này không ảnh hưởng đến trật tự của mảng byte thông qua vào onPreviewFrame (byte [], Camera)
Tôi muốn biết nếu có bất kỳ cách nào để phát hiện rằng cảm biến máy ảnh bị đảo ngược và/hoặc khung thô bị lộn ngược, do đó, chỉnh sửa thêm sẽ được thêm khi xoay chúng.
Chúng tôi có cùng một vấn đề, cũng với Camera2 API. Có vẻ như [CameraInfo.orientation] (https://developer.android.com/reference/android/hardware/Camera.CameraInfo.html#orientation) và [CameraCharacteristics.SENSOR_ORIENTATION] (https://developer.android.com/ reference/android/hardware/camera2/CameraCharacteristics.html # SENSOR_ORIENTATION) không cung cấp thông tin chính xác về định hướng cảm biến thực sự (chúng tôi nhận được 90 cho cả máy ảnh trước và sau trên Nexus 6). Cho đến nay, lựa chọn duy nhất chúng tôi biết là có danh sách "thiết bị trường hợp đặc biệt". – DoDo
Tôi nhận thấy rằng phần lớn các điện thoại mà tôi có sẵn để thử nghiệm trở lại 90 cho máy ảnh mặt sau và 270 cho máy ảnh mặt trước. Tôi tự hỏi rằng đây là một dấu hiệu của sự quay vòng của nó. –
Có vẻ như điều này là chính xác. Trên Nexus 6, camera phía trước trả về 90 và trên các thiết bị khác, thiết bị này trả về 270. Có thể điều này có thể được sử dụng để xác định hướng. Kiểm tra cũng [câu trả lời SO này] (http://stackoverflow.com/a/13176590/213057) – DoDo