camera.takePicture

정방형 이미지를 캡처하여 위도/경도 좌표를 EXIF에 저장합니다 (카메라에 자체 GPS 기능이 있거나 연결된 휴대전화에서 GPS가 사용 설정된 경우). 필요한 경우 이 명령어 호출 전에 camera.setOptions를 호출합니다. 이 명령어는 API 수준 2에서 수정되었습니다.

매개변수

  • sessionId: camera.startSession 명령어에서 가져온 고유한 세션 식별자입니다. 이 필드는 API 수준 2에서 지원 중단되었습니다.

결과

  • API 수준 1
    • fileUri: 캡처된 이미지의 URI입니다. 제조업체는 절대 URI를 사용할지 상대 URI를 사용할지 결정합니다. 예를 들어 'http://android.com/robots.txt'는 절대 URI이고 'robots.txt'는 상대 URI입니다. 클라이언트는 이를 불투명 식별자로 처리할 수 있습니다.
  • API 수준 2
    • fileUrl: 캡처된 이미지의 절대 URL로, 카메라의 HTTP 서버에서 직접 다운로드하는 데 사용할 수 있습니다. 이 명령어는 일반적으로 캡처 (카메라 내 병합 포함)를 완료하는 데 다소 시간이 걸리기 때문에 (몇 초에서 몇 분에 따라 다름) fileUrl를 즉시 반환하지는 않습니다. /osc/commands/status API를 사용하여 주기적으로 카메라를 폴링하여 명령어 진행 상황을 가져오며 fileUrl은 명령어가 완료될 때 반환되는 결과입니다. delayProcessing가 true인 경우 미리보기 이미지의 절대 URL로, 이미지를 처리하기 위해 processPicture에 입력으로 사용할 수 있습니다. 그렇지 않으면 최종 처리된 이미지의 절대 URL입니다.

오류

  • missingParameter: sessionId가 누락되었습니다. 이 오류 코드는 API 수준 2에서 지원 중단되었습니다.
  • invalidParameterName: 매개변수 이름을 인식할 수 없습니다. 예를 들어 sessionId은 API 수준 2에서 인식되지 않습니다.
  • invalidParameterValue: 입력 매개변수 이름은 인식되지만 값이 잘못되었습니다. 예를 들어 sessionId가 존재하지 않거나, 더 이상 활성 상태가 아니거나, 데이터 유형이 잘못되었습니다. 이 오류 코드는 API 수준 2에서 지원 중단되었습니다.
  • DisabledCommand: 명령어가 현재 사용 중지되어 있습니다. 예를 들어 카메라가 동영상 촬영 모드입니다. 이 오류 코드는 API 수준 2에 추가되었습니다.

명령어 I/O

명령어 입력 (API 수준 1)
{
    "parameters": {
        "sessionId": "12ABC3"
    }
}
명령어 출력 (API 수준 1)
{
    "results": {
        "fileUri": "file URI"
    }
}
명령어 출력 (오류) (API 수준 1)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter sessionId doesn't exist."
    }
}
명령어 입력 (API 수준 2)
none
명령어 출력 (API 수준 2)
{
    "results": {
        "fileUrl": "Absolute file URL"
    }
}
명령어 출력 (오류) (API 수준 2)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}