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. Quá trình này có thể mất nhiều thời gian một số yêu cầu liệt kê tất cả các tệp. Lệnh này đã được thêm vào từ API cấp 2.

Nếu camera không hỗ trợ các tham số được yêu cầu thì camera phải trả về khả năng tối đa sẵn có 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ì gửi thông báo lỗi, phản hồi phải 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 báo cáo lỗi cho tất cả các lỗi khác vụ việc; Ví dụ: khi yêu cầu là {entryCount: 500, maxSize: -500}, nên gửi lỗi invalidParameterValuemaxSize mang giá trị âm.

Tham số

  • fileType: Loại tệp được liệt kê, phải là bất kỳ loại tệp nào trong số ba: "hình ảnh", "video", "tất cả".
  • startPosition: (Không bắt buộc) Vị trí của tệp đầu tiên để được trả về trong danh sách. Nếu bị bỏ qua, vị trí bắt đầu là 0, đại diện cho tệp đầu tiên. Nếu tệp này lớn hơn vị trí của tệp cuối cùng, hãy trả về phản hồi bình thường với mục nhập trống trong kết quả thay vì phản hồi lỗi.
  • entryCount: Số mục nhập mong muốn cần trả về. Nếu có nhiều hơn số lượng tệp còn lại, chỉ cần trả về 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 ảnh thu nhỏ; max(hình thu nhỏ_chiều rộng; chiều_cao_hình_ thu nhỏ). Giá trị này được đặt thành null khi ứng dụng muốn loại bỏ hình thu nhỏ khỏi kết quả.

Kết quả

  • mục nhập: 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 trực tiếp xuống 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. Hãy dùng định dạng 24 giờ cho thời gian. Ngày và thời gian được phân tách bằng một ký tự trống. Múi giờ được bù trừ so với giờ UTC. Xin lưu ý rằng thể hiện điểm kết thúc quá trình quay video.
    • vĩ độ: (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 từng khung hình video.
    • thumbnail:Chuỗi được mã hoá Base64 cho hình thu nhỏ của tệp (khi maxThumbSize != null).
    • isprocessing: Một giá trị boolean cho biết tệp có phải là đã xử lý (ví dụ: được ghép) hoặc đó chỉ là bản xem trước. Điều này phải đúng bằng cách trừ phi bạn đặt delayProcessing thành true. Nếu có hình ảnh đã xử lý, hình ảnh xem trước tương ứng không được liệt kê ngay cả khi hình ảnh đó tồn tại, nếu không, 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 tương đương với false hoặc khi hình ảnh xem trước chưa bao giờ được tạo ra dưới dạng kết quả trung gian, nếu không, đó là URL của hình ảnh xem trước tương ứng với hình ảnh cuối cùng. Thông tin này được dùng để tạo 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 nhập trong vòng fileType bộ nhớ, ví dụ: nếu fileType là "image", thì đây là tổng số hình ảnh trong bộ nhớ.

Lỗi

  • ThiếuTham số: Mọi tham số bắt buộc chưa được chỉ định; ví dụ: entryCount không được chỉ định.
  • không hợp lệ Tham số: Tên của tham số đầu vào là không nhận dạng được.
  • invalidParameterValue: Tên thông số đầu vào được công nhận, nhưng giá trị của thuộc tính này không hợp lệ; ví dụ: entryCount có giá trị âm hoặc loại dữ liệu không chính xác.

Lệnh I/O

Nhập lệnh
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
Kết quả 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
    }
}
Ra lệnh (Lỗi)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}