camera.listFiles

Liệt kê tất cả hình ảnh/tất cả video/tất cả hình ảnh và video trong máy ảnh. Có thể mất một vài yêu cầu để liệt kê tất cả các tệp. Lệnh này đã được thêm vào API cấp 2.

Nếu máy ảnh không hỗ trợ các tham số được yêu cầu, thì máy ảnh phải trả về chức năng tối đa có sẵn cho phần cứng. Ví dụ: một trường hợp hiếm gặp có thể là yêu cầu: {entryCount: 500, maxSize: 2000}. Thay vì báo lỗi, phản hồi nên dựa trên khả năng tối đa mà máy ảnh hỗ trợ, chẳng hạn như: {entryCount: 100, maxSize: 200}. Vui lòng gửi lỗi cho tất cả các trường hợp khác; ví dụ: khi yêu cầu là {entryCount: 500, maxSize: -500}, lỗi invalidParameterValue sẽ gửi vì maxSize là số âm.

Các tham số

  • fileType: Loại tệp được liệt kê, phải là một trong 3 loại: “image”, ”video”, ”all”.
  • startPosition: (Không bắt buộc) Vị trí của tệp đầu tiên sẽ được trả về trong danh sách. Nếu bạn bỏ qua, vị trí bắt đầu là 0, thể hiện tệp đầu tiên. Nếu kích thước lớn hơn vị trí của tệp cuối cùng, hãy trả về một phản hồi bình thường với các mục trống trong kết quả thay vì phản hồi lỗi.
  • entryCount: Số mục nhập mong muốn trả về. Nếu số lượng tệp lớn hơn số tệp còn lại, chỉ cần trả về một phản hồi bình thường với các tệp thực tế còn lại thay vì phản hồi lỗi.
  • maxThumbSize: Kích thước tối đa của hình thu nhỏ;max(thumbnail_width, thumbnail_height). Thuộc tính này được thiết lập thành null khi ứng dụng muốn loại bỏ hình thu nhỏ khỏi kết quả.

Kết quả

  • items: Danh sách các thuộc tính hình ảnh. Mỗi mục nhập phải chứa các trường sau, ngoại trừ vĩ độ và kinh độ (không bắt buộc):
    • name: Tên tệp.
    • fileUrl: URL tuyệt đối của tệp, có thể dùng để tải xuống trực tiếp từ máy ảnh.
    • size: Kích thước tính bằng byte của tệp.
    • dateTimeZone: Ngày, giờ và múi giờ cho tệp, ở định dạng: YYYY:MM:DD HH:MM:SS+(-)HH:MM. Sử dụng định dạng 24 giờ cho thời gian. Ngày và giờ được phân tách bằng một ký tự trống. Múi giờ chênh lệch với giờ UTC. Xin lưu ý rằng đây là thời điểm kết thúc quá trình quay video.
    • lat: (Không bắt buộc) Vĩ độ của vị trí tại thời điểm chụp tệp.
    • lng: (Không bắt buộc) Kinh độ của vị trí tại thời điểm chụp tệp.
    • width: Chiều rộng của hình ảnh hoặc mỗi khung video.
    • height: Chiều cao của hình ảnh hoặc mỗi khung hình video.
    • hình thu nhỏ:Chuỗi mã hoá Base64 cho hình thu nhỏ của tệp (khi maxThumbSize != null).
    • isProcess: Một giá trị boolean cho biết tệp đã được xử lý hay chưa (ví dụ: ảnh được ghép) hay chỉ là bản xem trước. Giá trị này phải là true theo mặc định, trừ phi delayProcessing được đặt thành true (đúng). Nếu tồn tại hình ảnh đã xử lý, hình ảnh xem trước tương ứng sẽ không được liệt kê ngay cả khi tồn tại, nếu không, hãy liệt kê hình ảnh xem trước.
    • previewUrl: Mặc định là chuỗi trống nếu delayProcessing không được hỗ trợ hoặc khi isProcessed bằng false hoặc khi hình ảnh xem trước không được tạo dưới dạng kết quả trung gian, nếu không thì đó sẽ là URL của hình ảnh xem trước tương ứng với hình ảnh cuối cùng. Tính năng này dùng để xây dựng sự tương ứng giữa hình ảnh xem trước và hình ảnh cuối cùng.
  • totalEntries: Tổng số mục của fileType trong bộ nhớ, ví dụ: nếu fileType là "image", thì đó là tổng số hình ảnh trong bộ nhớ.

Lỗi

  • missingParameter: (Thông số bắt buộc): Bạn chưa chỉ định tham số bắt buộc nào; ví dụ: entryCount chưa được chỉ định.
  • invalidParameterName: Không nhận dạng được tên tham số đầu vào.
  • invalidParameterValue: Tên tham số đầu vào được nhận dạng nhưng giá trị của tham số đó không hợp lệ; ví dụ: entryCount là số âm hoặc loại dữ liệu của tham số đó không chính xác.

I/O lệnh

Nhập lệnh
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
Đầu ra của lệnh
{
    "results": {
        "entries": [
            {
                "name": "abc",
                "fileUrl": "file URL",
                "size":  file size, # of bytes,
                "dateTimeZone": "2014:12:27 08:00:00+08:00",
                "lat": 50.5324,
                "lng": -120.2332,
                "width": 2000,
                "height": 1000,
                "thumbnail": "ENCODEDSTRING",
                "isProcessed": true,
                "previewUrl": ""
            }
            ...
            {
                ...
            }
        ],
        "totalEntries": 250
    }
}
Kết quả của lệnh (Lỗi)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}