3. 카메라 장치에서 이미지를 캡처하거나 스트리밍하려면 응용 프로그램이 매니페스트 선언을 사용하여 카메라를 특별히 필요로하지 않는 경우 먼저 카메라 캡처 세션을 만들어야합니다. 이 검사를 수행하려면 아래 예제 코드와 같이 PackageManager.hasSystemFeature() 메서드를 사용하십시오: 이 자습서를 매우 좋아하지만 camera1과 비교하여 camera2 API를 사용하는 것은 저에게 는 엉망입니다. 안녕하세요, 당신은 풍경 미리보기 카메라로 보충 할 수 있습니까? 감사합니다. 우리의 이전 안드로이드 예제에서, 우리는 간단한 카메라 응용 프로그램을 통해 안드로이드 SurfaceView의 사용을 설명하려고. 그 동안, 우리는 카메라가 기본적인 인물 및 가로 보기를 캡처하는 데 사용되지만, 또한 다른 이유로 사용되는 것이 매우 일반적인되고있다으로, 간단하고 현대적인 안드로이드 응용 프로그램에서 “카메라 모드”가 얼마나 중요한지 깨달았다 , 예를 들어 상용 응용 프로그램에서 신용 카드의 수를 캡처, 심지어 제목과 이름을 저장할 수 있도록, 또는 Qr 코드를 읽을 수 있습니다. 이 기술은 거의 모든 카메라 피처에서 작동하며 카메라 오브젝트의 인스턴스를 가져온 후 대부분의 매개변수를 언제든지 변경할 수 있습니다. 매개 변수에 대한 변경 사항은 일반적으로 응용 프로그램의 카메라 미리 보기에서 사용자에게 즉시 표시됩니다. 소프트웨어 측면에서 매개 변수 변경은 카메라 하드웨어가 새 지침을 처리한 다음 업데이트된 이미지 데이터를 전송할 때 실제로 적용되려면 여러 프레임이 필요할 수 있습니다. 이 튜토리얼에서는 안드로이드 카메라 2 API를 구현하는 방법을 배우게됩니다. 이 예제 자습서는 새로운 안드로이드 카메라 API에 초점을 맞출 것이다, 당신은 이전 카메라 API를 찾고 있다면 나는 당신이 안드로이드 카메라 API 튜토리얼에 내 이전 자습서를 읽을 것을 제안합니다. 참고: 비디오 녹화를 완료할 때 카메라를 놓지 않으면 미리 보기가 중지됩니다. Camera.Area 오브젝트에는 카메라 의 시야 내 의 영역을 지정하는 직사각형 오브젝트와 라이트 값이라는 두 가지 데이터 매개변수가 포함되어 있으며, 이 값은 라이트 미터링 또는 초점 계산에서 이 영역의 중요도 수준을 카메라에 알려줍니다.

이 좌표계의 경계는 항상 카메라 미리 보기에 표시되는 이미지의 외부 가장자리에 해당하며 확대/축소 수준으로 축소하거나 확장하지 않습니다. 마찬가지로 Camera.setDisplayOrientation()를 사용하여 이미지 미리 보기의 회전은 좌표계를 다시 매핑하지 않습니다. 이 예제에서는 카메라를 사용하여 이미지를 캡처하고 이미지 뷰를 사용하여 이미지를 표시하는 간단한 코드를 작성합니다. 우리의 응용 프로그램에서 기존의 안드로이드 카메라 응용 프로그램을 사용하여 안드로이드 장치에 카메라를 사용하여 기존의 카메라 응용 프로그램의 통합을 통해 수행 할 수 있습니다. 이 경우 의도를 통해 기존 Camera 응용 프로그램을 시작하고 응용 프로그램의 반환 데이터를 사용하여 결과에 액세스합니다. 카메라 하드웨어는 응용 프로그램이 사용할 수도 있는 다른 응용 프로그램과 충돌하지 않도록 신중하게 관리해야 하는 공유 리소스입니다. 다음 섹션에서는 카메라 하드웨어를 감지하는 방법, 카메라에 대한 액세스를 요청하는 방법, 사진 또는 비디오를 캡처하는 방법 및 응용 프로그램이 카메라를 사용할 때 카메라를 해제하는 방법에 대해 설명합니다.