camera.takePicture

Chụp ảnh hình cầu toàn cảnh, lưu toạ độ vĩ độ/kinh độ vào EXIF (nếu máy ảnh của bạn có bật GPS hoặc GPS riêng trên điện thoại di động đã kết nối). Gọi camera.setOptions trước lệnh gọi lệnh này nếu cần. Lệnh này đã được sửa đổi trong API cấp 2.

Các tham số

  • sessionId: Giá trị nhận dạng phiên duy nhất thu được từ lệnh camera.startSession . Trường này không còn được dùng trong API cấp 2.

Kết quả

  • API cấp 1
    • fileUri: URI của hình ảnh đã chụp. Các nhà sản xuất sẽ quyết định nên sử dụng URI tuyệt đối hay tương đối. Ví dụ: "http://android.com/robots.txt" là URI tuyệt đối trong khi "robots.txt" là URI tương đối. Ứng dụng có thể coi đây là giá trị nhận dạng mờ.
  • API cấp 2
    • fileUrl: URL tuyệt đối của hình ảnh đã chụp, có thể dùng để tải xuống trực tiếp từ máy chủ HTTP của máy ảnh. Xin lưu ý rằng lệnh này không trả về fileUrl ngay lập tức vì quá trình chụp ảnh (bao gồm cả việc ghép ảnh trong máy ảnh) thường mất một chút thời gian (thay đổi từ giây đến vài phút) để hoàn tất. Tiến trình của lệnh có được bằng cách thăm dò máy ảnh theo định kỳ thông qua API /osc/commands/statusfileUrl là kết quả được trả về khi lệnh kết thúc. Khi delayProcessing là true, đây là URL tuyệt đối của hình ảnh xem trước, có thể được dùng làm dữ liệu đầu vào trong processPicture để xử lý hình ảnh, nếu không, đây là URL tuyệt đối của hình ảnh được xử lý cuối cùng.

Lỗi

  • missingParameter: Thiếu sessionId. Mã lỗi này không còn được dùng trong API cấp 2.
  • invalidParameterName: Tên thông số không được công nhận, ví dụ: sessionId không được công nhận trong API cấp 2.
  • invalidParameterValue: Tên tham số đầu vào được nhận dạng nhưng giá trị của thông số đó không hợp lệ; ví dụ: sessionId không tồn tại, không còn hoạt động hoặc loại dữ liệu của tham số đó không chính xác. Mã lỗi này không còn được dùng trong API cấp 2.
  • disabledCommand: Lệnh hiện đang tắt; ví dụ: máy ảnh đang ở chế độ quay video. Mã lỗi này đã được thêm vào API cấp 2.

I/O lệnh

Command Input (API cấp 1)
{
    "parameters": {
        "sessionId": "12ABC3"
    }
}
Đầu ra của lệnh (API cấp 1)
{
    "results": {
        "fileUri": "file URI"
    }
}
Đầu ra của lệnh (Lỗi) (API cấp 1)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter sessionId doesn't exist."
    }
}
Command Input (API cấp 2)
none
Đầu ra của lệnh (API cấp 2)
{
    "results": {
        "fileUrl": "Absolute file URL"
    }
}
Đầu ra của lệnh (Lỗi) (API cấp 2)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}